Как закрыть беседу в @ помощнике / разговоре
Я создал облачную функцию для обработки некоторой логики, в которой я хотел бы закрыть беседу.
Я пробовал следующее, но у меня возникла ошибка о том, что в разговоре нет метода с именем close
conv.close('Thankyou');
Я проверил документацию @assistant / разговора, где нет способа закрыть разговор
Я хотел бы знать, как закрыть разговор из облачной функции, а также можно ли, например, использовать системные сцены в облачной функции
Чтобы завершить разговор в сцене, мы перейдем к сцене завершения разговора. Точно так же в облачной функции мы можем использовать это
conv.scene.next.name = 'End conversation'
Для созданной нами пользовательской сцены она работает нормально, но если мы попытаемся использовать системные сцены в облачной функции, это не удастся.
1 ответ
Самый простой способ перейти к выходу напрямую - использовать специальное название сцены "Завершить разговор": actions.page.END_CONVERSATION
.
Однако другой разумный подход - это перейти к Сцене, и первое, что делает Сцена, - это переход к завершению разговора. Поскольку вы не можете переходить как часть сообщения Entry, вам необходимо создать условие, которое является "истинным".
Это может показаться ненужным взломом, но это не так безумно, как кажется - для некоторых действий имеет смысл иметь общий процесс закрытия и очистки, и централизация их в одном логическом месте имеет смысл.