Сделать это можно вот так:
import telebot
from telebot import types
bot = telebot.TeleBot('TOKKEN') #здесь должен быть токкен вашего бота
@bot.message_handler(commands=['start', 'menu'])
def Welcom(message):
mesg = bot.send_message(message.chat.id, f"Привет, {message.from_user.first_name}. Введите Ваш город")
bot.register_next_step_handler(mesg, city) #здесь бот ждёт пока пользователь введёт что либо в чат
def city(message):
if message.text == 'Москва': #здесь мы указываем то что должен ввести пользователь
bot.send_message(message.chat.id, 'Москва ваш город') #если пользователь ввёл нужное слово или фразу то бот отправит это сообщение
else:
bot.send_message(message.chat.id, 'Мне не удалось ничего найти') #если пользователь ввел что-то не то бот отправит это сообщение
bot.polling(none_stop=True)
В строке
bot.register_next_step_handler(mesg, city)
mesg
- это переменная в которую вы помещаете сообщение, а
city
- это название функции отвечающей за то какие слова и фразы должен писать пользователь чтобы бот ему ответил.
Так же к сообщению можно прикрепить кнопки, просто пропишите их после
message.text == 'Москва':
и прикрепите к сообщению, аналогично и с остальными фразами .
Для добавления большего количества фраз просто отделяйте каждое сообщение с помощью
elif
Пример:
def city(message):
if message.text == 'Москва':
bot.send_message(message.chat.id, 'Москва ваш город')
elif message.text == 'Санкт-Петербург':
bot.send_message(message.chat.id, 'Санкт-Петербург ваш город')
else:
bot.send_message(message.chat.id, 'Мне не удалось ничего найти')