@madez0

Почему не работает цепочка inline кнопок?

Пытаюсь сделать цепочку 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)
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
febday
@febday
У вас имеется условие elif call.data =='button4'
В свою очередь callback_data='button4' у вас в принципе нет
Тогда в чём заключается вопрос?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 14:11
4000 руб./за проект
07 мая 2024, в 14:10
10000 руб./за проект
07 мая 2024, в 14:04
1300 руб./за проект