0

我已经使用 Wit.ai 和 FB Messenger 构建了一个基于流的聊天机器人,它终于可以工作了;我需要弄清楚的最后一件事是对话结束时要做什么。

我的机器人会引导用户完成一个简单练习的步骤,他们可能会选择在未来返回并再次进行。有没有一种方法可以训练我的机器人识别当用户稍后返回对话时,他们需要再次从头开始对话?目前,对话以“机器人发送”消息结束,如果用户输入任何内容作为响应,它就会变得混乱。

目前我正在重置我的 heroku 服务器,删除 FB Messenger 中的对话并启动新的聊天以在测试中再次运行练习。

4

2 回答 2

1

一旦你达到了谈话的自然停止点。您可以在进行回调后删除您设置的上下文属性。

delete context.loc;

如果您想从一开始就开始对话,您可以删除会话。

于 2016-09-21T07:13:16.817 回答
0

@Jim Factor - 如果您使用runAction API,如 messenger 示例,那么一旦您在对话中达到逻辑结束,您应该在.then()部分中删除上下文、会话并进行其他清理(如删除/保存数据库条目等)的runAction。尽管大部分代码都被注释掉了,但在 messenger 示例中已经显示了这一点。如果您在runAction中传递一个新的sessionId ,那么它就像开始一个新的对话一样好,但是当然,为了使其正常工作,您还应该重置上下文变量并执行与您的应用程序相关的其他清理工作。希望这可以帮助!

于 2016-10-07T06:34:26.257 回答