Идея в том, чтобы вызывать кнопки друг за другом. После вызова команды 'start' выводятся две кнопки, при нажатии кнопки "направо" выводится еще одна пара кнопок, и на этом все, хотя есть еще блоки кода с кнопками.
#1
def create_keyboard():
keyboard = InlineKeyboardMarkup()
keyboard.row(
InlineKeyboardButton("Направо", callback_data='right1'),
InlineKeyboardButton("Налево", callback_data='left1')
)
return keyboard
#приветствие и запуск квеста
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, "Привет! Ты попал в заколдованный лабиринт. Куда пойдешь?", reply_markup=create_keyboard())
#2
def create_keyboard1():
keyboard = InlineKeyboardMarkup()
keyboard.row(
InlineKeyboardButton("Направо", callback_data='right2'),
InlineKeyboardButton("Налево", callback_data='left2')
)
return keyboard
#1.1
@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
if call.data == 'right1':
bot.send_message(call.message.chat.id, "Ты выбрал пойти направо. А теперь?", reply_markup=create_keyboard1()) # переход к следующему блоку
elif call.data == 'left1':
bot.send_message(call.message.chat.id, "Ты выбрал пойти налево. Твой путь заканчивается здесь.") # тупик
#2.2
@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
if call.data == 'right2':
bot.send_message(call.message.chat.id, "Ты выбрал пойти направо. Куда дальше?", reply_markup=create_keyboard2())
elif call.data == 'left2':
bot.send_message(call.message.chat.id, "Ты выбрал пойти налево. Твой путь заканчивается здесь.")
#3
def create_keyboard2():
keyboard = InlineKeyboardMarkup()
keyboard.row(
InlineKeyboardButton("Направо", callback_data='right3'),
InlineKeyboardButton("Налево", callback_data='left3')
)
return keyboard
#3.3
@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
if call.data == "right3":
bot.send_message(call.message.chat.id, "Ты выбрал направо. Идем дальше?", reply_markup=create_keyboard3())
elif call.data == "left3":
bot.send_message(call.message.chat.id, "Ты выбрал налево. Мне жаль, ты умер.")