@AlexSeley

Почему у меня не работает ответ на нажатие на InlineKeyboardButton (Python)?

@bot.message_handler(content_types=["text"])
def button(message):
keyboard = types.InlineKeyboardMarkup()
button = types.InlineKeyboardButton('Первая кнопка!', callback_data='button1')
keyboard.add(button)
bot.send_message(message.chat.id, "Press, please!", reply_markup=keyboard)
bot.answer_callback_query(message.chat.id, text="Hi!")

При нажатии на кнопку бот ничего не делает, хотя я указал bot.answer_callback_query(message.chat.id, text="Hi!")
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Inline-кнопки в отличие от обычных не генерируют текстовое сообщение. Их надо ловить через отдельный обработчик callback_query_handler:

@bot.callback_query_handler(func=lambda call: call.message is not None)
def my_inline_callback(call):
  chat_id = call.message.chat.id
  user_id = call.from_user.id
  data = call.data
  ...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы