Запуск Родителя или Намерений на том же уровне - PullRequest
1 голос
/ 25 апреля 2020

Я попытался найти разрешение и застрял на этой проблеме на несколько дней. Я использую действия в Google (nodeJS) и диалоговое окно для создания чат-бота

Вот последовательность:

1. Choose between food and drinks
2. If food:
----------- does it have to be gluten free?
----------- does it have to vegeterian
----------- Confirm order
----------- Would you like a drink with it?
----------- If yes, go to drink intent and pass food params too. (This is the step I am basically stuck at)
3. If drink,
----------- If coming from food, add it to order
----------- which drink?
----------- confirm order
4. Order placed successfully.

Я не могу перейти от последующих действий к основному намерению. Есть ли способ сделать это? conv.followup работал только для детей.

1 Ответ

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

Содержание представляет , что пользователь говорит или делает , а не то, как вы реагируете на то, что они говорят. Так что в этом случае не имеет смысла говорить, что вы хотите «вызвать» намерение напитка.

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

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

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

(Вам также не нужно использовать контексты намерения продолжения - вы можете справиться с этим с помощью контекстов, которыми вы управляете сами.)

...