Facebook Messenger Bot:如何记住对话(维护上下文)?

时间:2017-03-07 11:01:23

标签: php facebook-messenger facebook-messenger-bot

我是这个话题的新手,所以我只是尝试了this script。然后它完全有效。

但问题在于对话/背景。

现在机器人只能完美地使用来自用户的最后一条消息。但它无法知道早期的内容,因此无法维持对话,因为我不知道如何以正确的方式检索上一条/上一条消息。

我的机器人现在的行为(例子)

User: Hi, nice to meet you. Blah blah...
Bot: Sorry i don't understand you. Please key-in the Item Code to see details:
User: A1234
Bot: Item Details: xxx xxxx xxxxx xxxxx
Bot: Which "color" you want to order?
User: Blue
Bot: Sorry i don't understand you, Please key-in the Item Code to see details:

正如您所看到的(在消息的最后部分),Bot在用户的后续回复之后丢失了上下文(对话)。无法链接到上一条消息。

请问如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以为每个用户保留一个上下文堆栈,在机器人发送的每条消息的堆栈顶部推送一个项目,并按照FIFO顺序为每个收到的消息匹配上下文。

Bot-context是一个很酷的库,提供了一种维护上下文的简便方法。相关的blog post