Python-telegram-bot按钮处理程序多次调用

时间:2018-04-09 00:28:25

标签: python bots telegram python-telegram-bot

当我按下内联按钮时,处理程序button_pressed会多次调用。怎么解决?我只需要一次调用。

def button_pressed(bot, update):
    query = update.callback_query

    keyboard = []
    for article in nn:
        keyboard.append([
            InlineKeyboardButton(article.title, callback_data=article.pageid)
        ])

    reply_markup = InlineKeyboardMarkup(keyboard)

    bot.edit_message_text('text_here', reply_markup=reply_markup,
                          chat_id=query.message.chat_id,
                          message_id=query.message.message_id)

def main():
    updater = Updater(TOKEN)
    dp = updater.dispatcher
    dp.add_handler(CallbackQueryHandler(button_pressed))
    updater.start_polling(clean=True)
    updater.idle()


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

只需将update.callback_query.answer()放在处理程序代码中的某处。