【问题标题】:storing values from fb messenger bot into dialog flow将 fb messenger bot 中的值存储到对话流中
【发布时间】:2018-05-23 00:58:21
【问题描述】:

我正在尝试使用对话流和 fb Messenger 构建一个简单的机器人。我需要向最终用户显示两个按钮来选择蛋糕类型。我可以使用以下自定义响应显示选项:

{
  "facebook": {
    "attachment": {
      "type": "template",
      "payload": {
        "template_type": "button",
        "text": "What kind of cake would you like?",
        "buttons": [
          {
            "type": "postback",
            "payload": "witheggs",
            "title": "Contain Eggs"
          },
          {
            "type": "postback",
            "payload": "noeggs",
            "title": "Eggless"
          }
        ]
      }
    }
  }
}

一旦用户点击两个按钮中的一个,我如何将其设置为对话流中的某个变量,然后问下一组问题?

【问题讨论】:

    标签: facebook bots facebook-messenger dialogflow-es


    【解决方案1】:

    我不知道您使用的是什么语言,但您正在寻找以下内容:

    payload 部分在用户单击任何按钮时由 api.ai 作为 resolvedQuery 返回。

    比如用户点击Contain Eggs,api.ai会通过json的resolvedQuery节点返回witheggs

    这有帮助吗?如有其他问题,请随时询问。

    【讨论】:

    • 如何将此值分配回我的对话流操作中的参数?
    • 如果您确切地告诉我您的要求是什么,我可以帮助您。给我一个场景。因为根据我从您的问题中了解到的情况,您只想将其发送回去。真的吗?不显示吗?我需要明白你在问什么。
    • 好吧,就是这样:fb 上的用户说:我想要一个蛋糕。机器人用两个按钮回答哪一个:鸡蛋,无蛋。无论哪个用户点击,我都想问下一个问题。就是这样,现在我遇到了问题,选择的按钮回发如何将值分配给对话框流中的参数?
    • 我觉得你有点困惑。当我不得不做同样的事情时,我做了以下事情:就像我之前的评论中提到的那样,在 Ingot the resolvedQuery 之后,我使用我的 webhook 来处理一些信息。现在我有了它,我使用 webhook 本身将信息发送回 api.ai。如果我必须存储值(在我的情况下为 sessionId),我使用我的 sql db 来执行此操作。这有帮助吗?
    • 不是真的。但是是的,我接受我可能会在这里感到困惑。采取这种方式:我向 fb messenger 发送了一个包含按钮的有效负载(这当然是通过 webhook 进行的)。用户单击了我发送的两个按钮之一。现在我需要设置对我的 api.ai 参数的响应。我期望在输入参数值中加入一些表达式来获得这个值。由于 webhook 从单击的按钮返回响应,所以我不希望编写额外的代码。请指教
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2016-08-28
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2017-03-10
    • 2016-11-17
    相关资源
    最近更新 更多