Как в телеграм бот добавить многоуровневое меню на питоне python-telegram-bot
Я делаю бота на питоне. Так же все взаимодействие с ботом ведется через inline клавиатуру. Как мне сделать так, чтобы каждая из клавиатур открывалась в чате последовательно. То есть после команды старт сразу же выводится первая клавиатура, но вторая выводится только после того, как юзер что то нажмет на первой клаве и так далее. Нужна реализация, как в @BotFather
По дате
По рейтингу
123456789101112131415161718192021222324252627282930313233343536373839404142434445
import telebot
from telebot import types
bot = telebot.TeleBot("YOU BOT TOKEN")
def inline1():
kbd = types.InlineKeyboardMarkup()
i1 = types.InlineKeyboardButton("Первая", callback_data='1')
kbd.add(i1)
return kbd
def inline2():
kbd = types.InlineKeyboardMarkup()
i2 = types.InlineKeyboardButton("Вторая", callback_data='2')
kbd.add(i2)
return kbd
def inline3():
kbd = types.InlineKeyboardMarkup()
i1 = types.InlineKeyboardButton("Третья", callback_data='3')
i2 = types.InlineKeyboardButton("Четвертая", callback_data='4')
kbd.add(i1, i2)
return kbd
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "вот первая", reply_markup=inline1())
@bot.callback_query_handler(func=lambda call: True)
def call_query(call):
if call.message:
# message = call.message
if call.data == '1': # Телеграм вернул нам, что нажата кнопка 'Первая'
bot.send_message(call.message.chat.id, "вот вторая", reply_markup=inline2())
if call.data == '2':
bot.send_message(call.message.chat.id, 'Вот третья',reply_markup=inline3())
if call.data == '3':
bot.send_message(call.message.chat.id, 'Клавиатуры законичились - приходите завтра')
# Подтверждаем серверу телеграм, что обработали нажатие кнопки
bot.answer_callback_query(callback_query_id=call.id, show_alert=False)
# удаление inline кнопок - раскомментируешь - кнопки будут удалятся
# bot.edit_message_reply_markup(chat_id=call.message.chat.id, message_id=call.message.message_id, reply_markup=None)
# Удаление предыдущего сообщения от бота
# bot.delete_message(call.message.chat.id, call.message.message_id)
bot.polling(none_stop=True)
а как в таком меню сделать ввод сообщения?