Пытаюсь сделать цепочку inline сообщений как в BotFather, 1,2,3 кнопки работают, а кнопки 4,5,6 нет.
Делаю в telebot:
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Начало")
markup.add(btn1)
bot.send_message(message.chat.id, text="Привет, {0.first_name}!".format(message.from_user), reply_markup=markup)
@bot.message_handler(content_types=['text'])
def send_keyboard(message):
if message.text == "Начало":
button1 = types.InlineKeyboardButton('Кнопка 1', callback_data='button1')
button2 = types.InlineKeyboardButton('Кнопка 2', callback_data='button2')
button3 = types.InlineKeyboardButton('Кнопка 3', callback_data='button3')
keyboard = types.InlineKeyboardMarkup()
keyboard.add(button1)
keyboard.add(button2, button3)
bot.send_message(message.chat.id, 'Выберите кнопку:', reply_markup=keyboard)
@bot.callback_query_handler(func=lambda callback: callback.data)
def check_callback_data(call):
if call.data == 'button1':
button4 = types.InlineKeyboardButton('Кнопка 4', callback_data='button1')
button5 = types.InlineKeyboardButton('Кнопка 5', callback_data='button2')
button6 = types.InlineKeyboardButton('Кнопка 6', callback_data='button3')
keyboard = types.InlineKeyboardMarkup()
keyboard.add(button4)
keyboard.add(button5, button6)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Вы нажали на кнопку 1!',
reply_markup=keyboard)
elif call.data == 'button2':
button4 = types.InlineKeyboardButton('Кнопка 4', callback_data='button1')
button5 = types.InlineKeyboardButton('Кнопка 5', callback_data='button2')
button6 = types.InlineKeyboardButton('Кнопка 6', callback_data='button3')
keyboard = types.InlineKeyboardMarkup()
keyboard.add(button4)
keyboard.add(button5, button6)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Вы нажали на кнопку 2!',
reply_markup=keyboard)
elif call.data == 'button4':
button7 = types.InlineKeyboardButton('Кнопка 7', callback_data='button1')
button8 = types.InlineKeyboardButton('Кнопка 8', callback_data='button2')
button9 = types.InlineKeyboardButton('Кнопка 9', callback_data='button3')
keyboard2 = types.InlineKeyboardMarkup()
keyboard2.add(button7)
keyboard2.add(button8, button9)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Вы нажали на кнопку 4!',
reply_markup=keyboard2)
else:
bot.send_message(call.message.chat.id, 'Вы нажали на неизвестную кнопку!')
bot.polling(none_stop=True)