Инициировать другое последующее намерение на основе ответа пользователя? - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь создать бота, который бы позволял такое взаимодействие:

(U = пользователь, B = бот)

Дело A:

  • U: Создать новый XXX анализ
  • Б: Понял! Давайте создадим новый XXX анализ
  • Б: Как вас зовут?
  • U: Джо Доу
  • B: и т. Д., И т. Д. *

Дело B:

  • U: создать новый YYY анализ
  • Б: Понял! Давайте создадим новый YYY анализ
  • B: Какой твой любимый цвет?
  • U: красный
  • B: и т. Д. И т. Д. *

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

Прямо сейчас я правильно понимаю тип анализа (XXX или YYY), но не могу понять, как вызвать другое последующее намерение в зависимости от значения типа.

Как правильно это сделать?

Я рассчитывал написать бота с использованием Node.js, поэтому, если для ответа требуется написать бэкэнд, пожалуйста, я бы хотел получить ссылку на документы и ресурсы Node.js.

1 Ответ

0 голосов
/ 10 января 2019

Прежде всего, помните, что намерения запускаются в зависимости от того, что делает пользователь . Вы не "запускаете" намерение, ваши пользователи делают. То, как вы обрабатываете это намерение, основано на инициированном намерении, а также на другом состоянии, которое вы можете иметь в ходе беседы - в данном случае, на типе анализа. См. Этот ответ StackOverflow и соответствующую статью среднего уровня (и последующие статьи), в которой обсуждается, как с этим справиться.

Если вы хотите спросить что-то другое, в зависимости от того, как ответил пользователь, используйте свое веб-крюк, чтобы спросить что-то другое. Ответы не основаны на намерениях. Вам не нужно ничего «запускать».

Иногда требуется, чтобы в зависимости от состояния запускались только определенные намерения. В этих случаях вы можете установить Context и ограничить запуск Intents только при наличии всех входных контекстов.

...