Цель триггера после ответа бота - PullRequest
0 голосов
/ 12 апреля 2020

Пример кода выполнения диалогового потока может возвращать ответ в намерении следующим образом.

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

Предположим, что я хочу вызвать другое имя намерения "faq" сразу после этого без ввода пользователем, Как это можно сделать? Я ожидаю чего-то следующего, но не смог найти никакой документации.

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

Я смотрю на документацию по пользовательским событиям , но все еще не могу понять, как это реализовать.

Образец разговора:

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 ]

1 голос
/ 13 апреля 2020

В общем, вы не можете этого сделать. Но вам также не нужно.

Помните, что Намерение представляет то, что пользователь сказал , а не то, как вы реагируете на это. Таким образом, ваше доброжелательное намерение может ответить приветственным сообщением, а затем запросить подсказку. И второе намерение может ответить только с помощью подсказки часто задаваемых вопросов.

Самый простой способ сделать это - иметь все ваши ответы в своем выполнении и иметь как обработчик для «добро пожаловать», так и «часто задаваемые вопросы» Намеренный вызов той же функции, которая отправляет ответ на запрос.

1 голос
/ 12 апреля 2020

вы на правильном пути, вам нужно отправить событие, чтобы вызвать другое намерение.

agent.setFollowupEvent('myEventName');

См. do c о том, как установить событие followUp. Вам также необходимо определить событие на экране Intent (после контекстов): как только событие с таким именем (ie myEventName) найдено, намерение инициируется.

...