Php Facebook Messenger机器人:如何记住对话(维护上下文)?

Php Facebook Messenger机器人:如何记住对话(维护上下文)?,php,facebook-messenger,facebook-messenger-bot,Php,Facebook Messenger,Facebook Messenger Bot,我对这个话题还不熟悉,所以我刚刚试过。然后它就完美地工作了 但问题在于对话/上下文 现在,bot只能完美地处理用户发出的最后一条消息。但它无法知道前面的消息是什么,因此无法维持对话,因为我不知道如何以正确的方式检索以前/最后的消息 我的机器人现在的行为(示例) 正如您所看到的(在消息的最后部分),在用户的后续回复之后,Bot会丢失上下文(对话)。无法链接到以前的邮件 如何解决此问题?您可以为每个用户保留一个上下文堆栈,为bot发送的每个消息在堆栈顶部推送一个项目,并为接收的每个消息按FIFO顺序

我对这个话题还不熟悉,所以我刚刚试过。然后它就完美地工作了

但问题在于对话/上下文

现在,bot只能完美地处理用户发出的最后一条消息。但它无法知道前面的消息是什么,因此无法维持对话,因为我不知道如何以正确的方式检索以前/最后的消息

我的机器人现在的行为(示例) 正如您所看到的(在消息的最后部分),在用户的后续回复之后,Bot会丢失上下文(对话)。无法链接到以前的邮件


如何解决此问题?

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


是一个很酷的库,它提供了一种维护上下文的简单方法。相关的。

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

是一个很酷的库,它提供了一种维护上下文的简单方法。相关的

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: