- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 python-telegram-bot ,我有一个运行的机器人,其设置与 other examples 非常相似.另一方面,我有并行进程,允许我定期向与机器人交互的用户发送消息。并行进程使用以下方式与用户通信:
bot = Bot(token=TELEGRAM_TOKEN)
def get_button_options():
keyboard = [[ InlineKeyboardButton("reply", callback_data='reply),]]
reply_markup = InlineKeyboardMarkup(keyboard)
return reply_markup
bot.send_message(chat_id=self.telegram_id, text=text, reply_markup=get_button_options())
问题是,即使我能够向用户发送消息,上面的代码也不允许用户与机器人交互(我的意思是,一旦用户按下按钮,机器人就不会'执行任何回调)。这是因为我需要 CallbackQueryHandler或 ConversationHandler在机器人中。
但是对于 ConversationHandler
我似乎没有找到任何合适的入口点,因为它是从并行进程发送的消息。另一方面,在主机器人中使用以下 CallbackQueryHandler
(取自 the example)似乎没有任何效果:
def button(update: Update, _: CallbackContext) -> None:
query = update.callback_query
# CallbackQueries need to be answered, even if no notification to the user is needed
# Some clients may have trouble otherwise. See https://core.telegram.org/bots/api#callbackquery
query.answer()
query.edit_message_text(text=f"Selected option: {query.data}")
在主函数中,我使用 updater.dispatcher.add_handler(CallbackQueryHandler(button))
添加了处理程序
关于如何解决这个问题有什么想法吗?
最佳答案
正如@CallMeStag 所说,解决方案如下:
ConversationHandler(
entry_points=[CallbackQueryHandler(button)])
正确的入口点是 CallbackQueryHandler
,因此它会捕获选定的按钮
关于telegram-bot - 用于从机器人类发送的消息的 CallbackQueryHandler 或 ConversationHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66998849/
我正在使用 This ConversationHandler Script作为我的程序的基础。 如何从以前的状态中检索用户的答案?例如,当用户被问及他们的简历时,我如何打印他们的性别(这是被问到的第一
使用 python-telegram-bot ,我有一个运行的机器人,其设置与 other examples 非常相似.另一方面,我有并行进程,允许我定期向与机器人交互的用户发送消息。并行进程使用以下
我想使用ConversationHandler在我的机器人中。至少,它需要三个参数: class telegram.ext.ConversationHandler(entry_points, stat
Python-telegram-bot这是 HTTP Telegram Bot API 包装器具有 telegram.ext.ConversationHandler模块及其功能是: “通过管理四个其他
我是一名优秀的程序员,十分优秀!