Задать вопрос
@zenondd

Как создать меню второго уровня с inline кнопками (Telegram bot, Python)?

Имеется меню с инлайн кнопками, внутри которого хочу создать другое "подменю". Предположил, что правильнее всего сделать это с помощью bot.edit_message_reply_markup, но при запуске бота после клика на инлайн кнопку, которая должа вызвать следующее меню, бот крашится с ошибкой "Bad Request: message to edit not found". Подскажите, пожалуйста, нубу, в чем проблема может быть)

Надеюсь данного куска кода хватит для понимания:
@bot.callback_query_handler(func=lambda c: True)
def inline_menu(c):
    if c.data == 'knopki2':
        knopki2 = types.InlineKeyboardMarkup()
        butt_1 = types.InlineKeyboardButton(text='Текст №1', callback_data='text1')
        butt_2 = types.InlineKeyboardButton(text='Текст №2', callback_data='text2')
        knopki2.add(butt_1, butt_2)
        bot.edit_message_reply_markup(chat_id=c.message.chat.id, inline_message_id=c.message.chat.id, reply_markup=knopki2)
  • Вопрос задан
  • 3388 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@twistfire92
Python backend developer
Проблема в передаваемых параметрах. мало того, что вы передаете параметр inline_message_id вместо message_id, так еще и присваиваете ему id текущего чата, а нужен id сообщения. Попробуйте как описано ниже:

bot.edit_message_reply_markup(chat_id=c.message.chat.id, message_id=c.message.message_id, reply_markup=knopki2)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 дек. 2024, в 21:56
25000 руб./за проект
28 дек. 2024, в 18:50
1200 руб./в час
28 дек. 2024, в 18:20
50000 руб./за проект