提问人:pigs never look back 提问时间:9/20/2023 更新时间:9/21/2023 访问量:68
python-telegram-bot CallbackQueryHandler 在重新启动机器人后对最后一条消息不起作用
python-telegram-bot CallbackQueryHandler doesn't work on the last message after restarting the bot
问:
我用来创建一个机器人。python-telegram-bot
机器人在启动后等待来自用户的消息并且不起作用,当我单击机器人发送的消息按钮时,它首先需要接收来自用户的消息
只有当用户写入消息时,最后一条消息上的按钮才开始工作,也就是说,过去的消息将不再有意义
def main() -> None: application = Application.builder().token(telegram_token).build()
conv_handler = ConversationHandler(
entry_points=[
MessageHandler(filters.COMMAND, main_menu),
MessageHandler(filters.TEXT, main_menu)],
states={
START_ROUTES: [
CallbackQueryHandler(main_menu_over, pattern="return_to_menu"),
CallbackQueryHandler(support_menu, pattern="support"),
],
END_ROUTES: [
CallbackQueryHandler(main_menu_over, pattern="return_to_menu"),
],
},
fallbacks=[
MessageHandler(filters.COMMAND, main_menu),
MessageHandler(filters.TEXT, main_menu)],
)
application.add_handler(conv_handler)
application.run_polling(allowed_updates=Update.ALL_TYPES)`
我以为在启动机器人后,有某种方法可以接收来自用户的回调查询,而不是消息
答:
1赞
CallMeStag
9/21/2023
#1
我不太确定用什么方式来解释你的问题,所以我提供了可能的解释的答案:
- 对话处理程序的入口点是 s。如果您希望通过按钮开始对话,请使用(加法或代替)
MessageHandler
CallbackQueryHandler
- 默认情况下,在重新启动 python 脚本时不会保存会话的当前状态。如果你想要这个,请看一下 PTB 的内置持久性设置。
免责声明:我目前是 的维护者。python-telegram-bot
评论