2024-05-20 00:04:34 发布
网友
我使用This ConversationHandler Script作为我的程序的基础。在
如何从以前的状态检索用户答案?例如,当用户被问及他们的简历时,我如何打印他们的性别(这是第一个被问到的问题)?在
看起来每个函数都会返回下一步(GENDER->PHOTO->LOCATION->BIO),但是有没有办法查看以前的输入是什么?在
我有这个。。。在
SOME_OTHER: [MessageHandler(filters=Filters.text, callback=some_other, pass_user_data=True)],
TypeError:init()缺少1个必需的位置参数:“fallbacks”
我也遇到了同样的问题,我需要在对话中保留以前的用户答案。看一下Handler文档,它是所有处理程序的基类。它有一个名为pass_user_data的参数。当设置为True时,它将user_data dictionary传递给处理程序,并且它与发送更新的用户相关。你可以利用它来实现你想要的。在
假设我有一个入口点和两个状态的对话:
def build_conversation_handler(): conversation_handler = ConversationHandler( entry_points=[CommandHandler('command', callback=show_options)], states={ PROCESS_SELECT: [CallbackQueryHandler(process_select, pass_user_data=True)], SOME_OTHER: [MessageHandler(filters=Filters.text, callback=some_other, pass_user_data=True)], }, )
以下是对话的处理程序:
在第一个处理程序中,我显示用户键盘来选择一个选项,在下一个处理程序中,我从回调查询中获取选择并将其存储到用户数据中。最后一个处理程序是一个消息处理程序,因此它没有回调数据,但是由于我向它添加了user_数据,所以我可以使用之前添加的数据访问字典。使用这种方法,您可以在处理程序之间存储和访问与用户相关的任何内容。在
我有这个。。。在
TypeError:init()缺少1个必需的位置参数:“fallbacks”
我也遇到了同样的问题,我需要在对话中保留以前的用户答案。看一下Handler文档,它是所有处理程序的基类。它有一个名为pass_user_data的参数。当设置为True时,它将user_data dictionary传递给处理程序,并且它与发送更新的用户相关。你可以利用它来实现你想要的。在
假设我有一个入口点和两个状态的对话:
以下是对话的处理程序:
^{pr2}$在第一个处理程序中,我显示用户键盘来选择一个选项,在下一个处理程序中,我从回调查询中获取选择并将其存储到用户数据中。最后一个处理程序是一个消息处理程序,因此它没有回调数据,但是由于我向它添加了user_数据,所以我可以使用之前添加的数据访问字典。使用这种方法,您可以在处理程序之间存储和访问与用户相关的任何内容。在
相关问题 更多 >
编程相关推荐