机器人响应后触发意图

时间:2020-04-12 13:45:14

标签: node.js dialogflow-es chatbot

dialogflow实现代码示例可以按如下所示返回意图的响应。

function welcome(agent) {
  agent.add(`Welcome to agent!`);
}

假设我要在此之后立即触发另一个意图名称“ faq”,而无需任何用户输入。怎么做到呢?我期待以下内容,但找不到任何文档。

function welcome(agent) {
  agent.add(`Welcome to agent!`);
  agent.triggerIntent('faq');
}

我看着custom event documentation,但仍然无法实现它。

会话示例:

User A: Hi
Bot: Welcome to agent!
Bot: Please pick FAQ to see detail:
1) FAQ 1
2) FAQ 2
3) FAQ 3
User: Show FAQ
Bot: Please pick FAQ to see detail:
1) FAQ 1
2) FAQ 2
3) FAQ 3

2 个答案:

答案 0 :(得分:1)

您处在正确的轨道上,您需要发送一个事件来触发另一个意图。

agent.setFollowupEvent('myEventName');

有关如何设置跟进事件的信息,请参见doc。您还需要在“意图”屏幕中(在“上下文”之后)定义事件:一旦找到具有该名称(即myEventName)的事件,就会触发意图。

答案 1 :(得分:1)

通常,您不能这样做。但是您也不需要。

请记住,一个Intent代表用户所说的,而不是您对此的回应。因此,您的欢迎意向可以回复欢迎信息,然后是FAQ提示。第二个Intent可以仅通过FAQ提示进行回复。

执行此操作最简单的方法是将所有答复都包含在“实现”中,并让“欢迎”意图和“ FAQ”意图的处理程序调用相同的函数,以将提示答复发回。