@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)
  • Вопрос задан
  • 3187 просмотров
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽