Розробка чат-бота
Автор: kaskiv11 • Июнь 5, 2021 • Лабораторная работа • 379 Слов (2 Страниц) • 344 Просмотры
Міністерство освіти і науки України
Технічний фаховий коледж Національного університету
“Львівська політехніка”
Кафедра інформаційних технологій
Звіт
до лабораторної роботи №8
з дисципліни проектний практикум
на тему:
Розробка чат-бота
Виконав:
Студент гр.31-ІПЗ
Каськів В.П.
Перевірив:
Назаркевич М.А.
Львів – 2021
Мета: Засвоїти методику та виробити практичні навички у написанні програм на Python.
Завдання: Створити чат-бота на мові програмування Python.
Хід роботи
Код програми
import telebot
from telebot import types
name = ''
surname = ''
age = 0
bot = telebot.TeleBot("1725841791:AAEQDkpgbyogvcAr_chC7T8V4SwQ9vvJwRI")
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, """\
Привіт, я є Бот \nДякую що зайшов\nВідповім на всі твої питання!\
""")
@bot.message_handler(func=lambda message: True)
def echo_message(message):
if message.text == 'Привіт':
bot.reply_to(message, 'Привіт, дякую що ти є')
elif message.text == 'Hello':
bot.reply_to(message, 'Hello, thank you for being there')
elif message.text == 'Папа':
bot.reply_to(message, 'Папа, на все добре ')
elif message.text == 'Reg':
bot.send_message(message.from_user.id, "Як тебе звати?")
bot.register_next_step_handler(message, reg_name)
def reg_name(message):
global name
name = message.text
bot.send_message(message.from_user.id, 'Яке у вас прізвище?')
bot.register_next_step_handler(message, reg_surname)
def reg_surname(message):
global surname
surname = message.text
bot.send_message(message.from_user.id, 'Скільки тобі років?')
bot.register_next_step_handler(message, reg_age)
def reg_age(message):
global age
while age == 0:
try:
age = int(message.text)
except Exception:
bot.send_message(message.from_user.id, 'Цифрами, будь ласка')
keyboard = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text='Так', callback_data='yes')
keyboard.add(key_yes)
key_no = types.InlineKeyboardButton(text='Ні', callback_data='no')
keyboard.add(key_no)
question = 'Тебе ' + str(age) + ' років, тебе звати ' + name + ' ' + surname + '?'
bot.send_message(message.from_user.id, text=question, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "yes":
bot.send_message(call.message.chat.id, 'Запамятаю : )\nЗапишу в базу даних')
elif call.data == "no":
bot.reply_to(call.message.chat.id, 'Як тебе звати')
bot.polling()
...