【问题标题】:Dialogflow Fullfilments responsesDialogflow 完成响应
【发布时间】:2023-03-23 20:37:01
【问题描述】:

我有一个案例,当用户输入内容时我需要发送电子邮件,因此我需要使用 node.js 和 amazon 的实现来处理电子邮件部分,但我希望响应来自对话流界面。

目前我有这样的事情:

   let intentMap = new Map();
   intentMap.set('Default Welcome Intent', welcome);

   agent.handleRequest(intentMap);

   function welcome(agent) {
      var content = "Hello.\n\n"
                +""
                +"phone : " + agent.parameters.phoneNumber + ""
                +"\nIA";
      sendEmail("phone number", sendToEmail, content);
      agent.add(`Thank you`);
}

如您所见,我希望 Dialogflow Dashboard 响应“谢谢”,我将删除 agent.add(Thank you)。

这可能吗?

【问题讨论】:

  • 您是否尝试过删除您不想运行的代码行?
  • @RobertLevy 我没明白你的意思,你的意思是删除 agent.add('Thank you') ,如果我删除这一行,对话流的响应会得到响应吗?
  • 我试图删除最后一行代码,但它根本没有响应聊天机器人!

标签: javascript node.js google-cloud-platform dialogflow-es


【解决方案1】:

如果“谢谢”写为您的 Dialogflow 意图文本响应,并且您的 Webhook 以非 200 HTTP 响应或无效响应进行响应,则 Dialogflow 将回退到来自文本响应字段中的“谢谢”意图。

更好的是,Dialogflow 的 request 到您的 webhook 包括一个 fulfillmentText 属性,其中包含 Dialogflow 将在 Dialogflow 控制台的意图中使用的文本响应中的文本。您可以在 agent.add 调用中使用此字符串来确保您的 webhook 成功,并且您仍然可以控制来自控制台的响应。

【讨论】:

  • agent.fulfillmentText 显示未定义,我究竟如何才能得到fulfillmentText?
猜你喜欢
  • 1970-01-01
  • 2019-11-10
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
相关资源
最近更新 更多