Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用于Facebook客户端的dialogflow快速回复_Node.js_Dialogflow Es_Chatbot_Facebook Messenger_Facebook Chatbot - Fatal编程技术网

Node.js 用于Facebook客户端的dialogflow快速回复

Node.js 用于Facebook客户端的dialogflow快速回复,node.js,dialogflow-es,chatbot,facebook-messenger,facebook-chatbot,Node.js,Dialogflow Es,Chatbot,Facebook Messenger,Facebook Chatbot,当我尝试使用Facebook messenger客户端的webhook从节点应用程序向Dialogflow发送响应时 但是,试图向Facebook客户端发送一个快速回复时,它不起作用,出现了下面的错误 错误:建议构造函数需要回复字符串 任何帮助都将不胜感激 const {Suggestion} = require('dialogflow-fulfillment'); agent.add(new Suggestion().setReply('test reply from NodeApp'));

当我尝试使用Facebook messenger客户端的webhook从节点应用程序向Dialogflow发送响应时

但是,试图向Facebook客户端发送一个快速回复时,它不起作用,出现了下面的错误

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

任何帮助都将不胜感激

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

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

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

agent.add(new Suggestion(`sample reply`));
请记住,在Facebook接受回复对象之前,应该有一个文本回复

下面是一个可能会帮助您更好的代码片段

const {Suggestion} = require('dialogflow-fulfillment');
agent.add(`This is quick reply.`);
agent.add(new Suggestion(`option 1`));
agent.add(new Suggestion(`option 2`));
如果您使用的是Dialogflow内联编辑器,则上述方法将起作用

如果没有(即,选择拥有自己的部署/开发环境),则必须在履行代码中以自定义有效负载的形式发送快速回复。(在这里,您还必须首先升级对话框流实现包)

下面是一个示例代码段:

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}))
希望这些对你有用