Как закрыть беседу в @ помощнике / разговоре

Я создал облачную функцию для обработки некоторой логики, в которой я хотел бы закрыть беседу.

Я пробовал следующее, но у меня возникла ошибка о том, что в разговоре нет метода с именем close

conv.close('Thankyou');

Я проверил документацию @assistant / разговора, где нет способа закрыть разговор

Я хотел бы знать, как закрыть разговор из облачной функции, а также можно ли, например, использовать системные сцены в облачной функции

Чтобы завершить разговор в сцене, мы перейдем к сцене завершения разговора. Точно так же в облачной функции мы можем использовать это

conv.scene.next.name = 'End conversation'

Для созданной нами пользовательской сцены она работает нормально, но если мы попытаемся использовать системные сцены в облачной функции, это не удастся.

1 ответ

Решение

Самый простой способ перейти к выходу напрямую - использовать специальное название сцены "Завершить разговор": actions.page.END_CONVERSATION.

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

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

Другие вопросы по тегам