Не работает функция обработки обратного звонка в телеботеPython

Программы на Python
Ответить
Anonymous
 Не работает функция обработки обратного звонка в телеботе

Сообщение Anonymous »

Код: Выделить всё

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def main(message):
markup = types.InlineKeyboardMarkup()
buy_btn = types.InlineKeyboardButton("Buy",
callback_data="buy")
purchases_btn = types.InlineKeyboardButton("Purchases",
callback_data="show_purchases")

markup.row(buy_btn, purchases_btn)

settings_btn = types.InlineKeyboardButton("Settings",
callback_data="show_settings")
markup.row(settings_btn)

bot.reply_to(message, "Choose one:", reply_markup=markup)

@bot.callback_query_handler(func=lambda callback: callback.data)
def callbacks(callback):
print(f"Callback data received: {callback.data}")
if callback.data == "buy":
bot.send_message(callback.message.chat.id, "Buy")

if __name__ == '__main__':
bot.polling(none_stop=True)
У меня есть несколько кнопок, которые должны что-то делать. Я пытаюсь обработать обратный вызов в отдельной функции обратного вызова. Но когда я нажимаю кнопку, обратного вызова, похоже, не происходит. Функция не работает ни при каких условиях, ничего не выводит, какую бы кнопку я ни нажимал.
Я изучаю телебот по обучающим видеороликам и попробовал перепроверить свой код. несколько раз. Все условия для работы соблюдены. Я просмотрел официальную документацию по обработке обратных вызовов, но там было то же самое.
Я ожидаю, что функция обратных вызовов хотя бы распечатает хотя бы некоторые из полученных обратных вызовов.

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-not-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»