我想使用dialogflow fullfilment发送特定于平台的响应

时间:2019-08-09 19:49:07

标签: node.js json dialogflow dialogflow-fulfillment

我使用dialogflow在网站上构建了一个与Messenger和默认bot集成的机器人,现在该机器人具有默认响应和Messenger响应,但是当我完成任务时,我无法为每个机器人设置特定的响应

这是我的代码

 function time(agent) {
    if (currentlyOpen()) {
      agent.add(`Hi, We're open now! We close at 11pm today.`);
    } else {
      agent.add(`We're currently closed, but we open every day at 6am!`);
    }
  }

如果我使用Messenger,则我希望得到不同的响应,因为默认响应将传递给默认机器人 “我知道我可以将Messenger集成到网站中,但是当我将它用于更多机器人时,我想了解这种方式。”

1 个答案:

答案 0 :(得分:0)

您可以使用与代理相同的库来执行此操作。要发送特定的平台响应,只需将平台添加到响应中即可。例如,如果您要专门向Google Assistant发送文本,则可以使用agent.add(new Text({ text: 'text_here', platform: 'ACTIONS_ON_GOOGLE'}));进行操作。

完整的Dialogflow实现代码可在GitHub上找到。 https://github.com/dialogflow/dialogflow-fulfillment-nodejs。我还修改了一些代码来设置此库中不可用的其他一些响应,例如电话传输和语音响应。因此,如果您愿意,也可以这样做。