FB Chatbot如何获取上一条消息

时间:2017-02-06 22:02:38

标签: facebook aws-lambda chatbot facebook-chatbot

是否可以接收用户发送到聊天机器人的上一条消息(不使用快速回复或回发按钮)。例如:

用户:"你可以给朋友打电话吗?" Bot:"我该打电话给谁?" 用户:"蒂姆"

在API中,我现在只有信息" Tim",不知道我是应该给他打电话还是给他发短信或给他做三明治或其他什么。所以我基本上想要在文本中添加一些Postbackdata或元数据"你能给朋友打电话吗?#34; (意图:' CALL'),所以消息" Tim"将附带这些数据。

有没有办法将数据存储到数据库中? AWS Lambda与ClaudiaJs。

我发现FB API中的元数据字段是错误的字段,因为它仅用于在多个应用程序之间进行通信?!

2 个答案:

答案 0 :(得分:0)

您正在寻找一种名为“基于插槽的机器人”或插槽填充,基本上意味着您有一个“插槽”或​​空白需要在机器人执行操作之前填写。在你的例子中,你有两个插槽:动作和人 动作可以是:呼叫,文本,消息 人:姓名,朋友等。

我认为任何消息框架(Slack,Facebook等)都不会为您提供所需的信息。你需要自己构建这个逻辑。

您可以使用wit.ai stories来实现此目标。

请看这个类似的Stack Overflow问题和答案。

答案 1 :(得分:0)

您可以颠倒对话的顺序,开始时用户会写一些文本或向您发送其他内容。收到后,您应该发送给用户buttonTemplate,其中回发将类似于“ CallTo&Tim”,其中您可以将需要传递的所有文本而不是Tim传递给下一个执行者(并且您还可以在此处存储先前的用户消息)。比只做回发的子字符串,检查它的类型并做任何您想做的事。