机器人响应后触发意图

Trigger intent after bot response

dialogflow fulfillment 代码示例可以 return 响应如下意图。

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

你走对了,你需要发送一个事件来触发另一个意图。

agent.setFollowupEvent('myEventName');

请参阅 doc 了解如何设置跟进事件。您还需要在 Intent 屏幕中定义事件(在 Contexts 之后):一旦找到具有该名称的事件(即 myEventName),就会触发 Intent。

一般情况下,您不能这样做。但你也不需要。

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

最简单的方法是将您的所有回复都放在您的 Fulfillment 中,并让 "Welcome" Intent 和 "FAQ" Intent 的处理程序调用同一个函数来发回提示回复。