【问题标题】:dialogflow quick reply for Facebook clientFacebook 客户端的对话流快速回复
【发布时间】:2021-02-15 22:44:57
【问题描述】:

当我尝试使用 Facebook Messenger 客户端的 webhook 从 Node 应用向 Dialogflow 发送响应时。

尝试向 Facebook 客户端发送快速回复,但无法正常工作并出现以下错误。

错误:建议构造函数需要回复字符串

任何帮助将不胜感激。

const {Suggestion} = require('dialogflow-fulfillment');
agent.add(new Suggestion().setReply('test reply from NodeApp'));

【问题讨论】:

    标签: node.js dialogflow-es chatbot facebook-messenger facebook-chatbot


    【解决方案1】:

    首先,您需要将内联编辑器中package.json文件中dialogflow-fulfillment包的版本更新为最新的^0.6.1 .

    那么,我认为您可以使用以下语句发送快速回复:

    agent.add(new Suggestion(`sample reply`));
    

    请记住,在 Facebook 接受响应对象的回复之前应该有一个文本回复。

    下面是一个可以更好地帮助你的sn-p。

    const {Suggestion} = require('dialogflow-fulfillment');
    agent.add(`This is quick reply.`);
    agent.add(new Suggestion(`option 1`));
    agent.add(new Suggestion(`option 2`));
    

    如果您使用 Dialogflow 内联编辑器作为实现,上述方法将起作用。

    如果没有(即选择拥有自己的部署/开发环境),您必须在实现代码中将快速回复作为自定义有效负载发送。 (这里也需要先升级dialogflow-fulfillment包)

    这里是一个示例代码sn-p:

    const {Payload} = require("dialogflow-fulfillment")
    var payload = {
      "facebook": {
        "text": "Welcome to my agent!",
        "quick_replies": [
          {
            "content_type": "text",
            "payload": "reply1",
            "title": "reply 1"
          }
        ]
      }
    }
    agent.add(new Payload(agent.UNSPECIFIED, payload, {rawPayload: true, sendAsMessage: true}))
    

    希望这些对你有用。

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多