Facebook Messenger 机器人:第一次交互与同一命令的后续交互不同?
Facebook Messenger bot: 1st interaction different to subsequent for same command?
有谁知道如果聊天用户是第一次与机器人互动,是否可以 return 向聊天用户发送不同的消息等?
例如,如果用户第一次说 "hello"(或任何其他内容),机器人可能会响应 "Hello there!"
如果用户稍后打招呼,机器人可能会回应 "Hello, again!"
查看开发人员文档,我正在努力寻找答案:https://developers.facebook.com/docs/messenger-platform
对于上下文,我也在使用 https://api.ai 服务。
目前 API.ai 开箱即用是不可能的,您必须构建一个自定义 webhook,将用户 ID 保存到数据库并在新会话中检查它。
作为一个(非常)hacky 的解决方法,您可以尝试在第一次问候之后输出一个上下文,并且您使用输入和输出该上下文的每个其他意图,基本上记住用户已经通过 'permanent' 语境。
完成此操作的一种方法是设置一个 "get started" 按钮:
https://developers.facebook.com/docs/messenger-platform/messenger-profile/get-started-button
这也可能有帮助:
https://developers.facebook.com/docs/messenger-platform/messenger-profile/greeting-text
(不过我自己没用过,不知道有什么作用。)
此外,如前所述,您可以将用户数据存储在自己的数据库中,如果在那里找不到用户,可以发送问候消息。
有谁知道如果聊天用户是第一次与机器人互动,是否可以 return 向聊天用户发送不同的消息等?
例如,如果用户第一次说 "hello"(或任何其他内容),机器人可能会响应 "Hello there!"
如果用户稍后打招呼,机器人可能会回应 "Hello, again!"
查看开发人员文档,我正在努力寻找答案:https://developers.facebook.com/docs/messenger-platform
对于上下文,我也在使用 https://api.ai 服务。
目前 API.ai 开箱即用是不可能的,您必须构建一个自定义 webhook,将用户 ID 保存到数据库并在新会话中检查它。
作为一个(非常)hacky 的解决方法,您可以尝试在第一次问候之后输出一个上下文,并且您使用输入和输出该上下文的每个其他意图,基本上记住用户已经通过 'permanent' 语境。
完成此操作的一种方法是设置一个 "get started" 按钮:
https://developers.facebook.com/docs/messenger-platform/messenger-profile/get-started-button
这也可能有帮助:
https://developers.facebook.com/docs/messenger-platform/messenger-profile/greeting-text
(不过我自己没用过,不知道有什么作用。)
此外,如前所述,您可以将用户数据存储在自己的数据库中,如果在那里找不到用户,可以发送问候消息。