Как предотвратить выход из разговора в DialogFlow - PullRequest
0 голосов
/ 10 октября 2019

Я включил веб-крюк для моего события отмены в Dialogflow.

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

Однако я вижучто приложение не позволяет мне предотвратить выход. Это заставляет разговор существовать так или иначе. Может кто-нибудь, пожалуйста, помогите? Любой другой обходной путь, который я могу использовать, чтобы предотвратить выход, чтобы обработать возникшее у меня условие?

Вот код отмены, написанный в файле node.js с использованием frameworks-on-google Framework.

 app.intent('askCancel', (conv) => {  

   if (conv.user.storage.isTransfer || conv.user.storage.isPayment) {
     conv.ask("Ok we have cancelled the transaction. What else would you like to do?")
     deleteContext(conv);
     conv.contexts.set('ask-service-context', 5);
     return;
   }  

   conv.user.storage = {};
   conv.close("Thank you for using the application. Have a nice day.");
 });

1 Ответ

1 голос
/ 10 октября 2019

Нет, нет.

Это похоже на окно браузера, которое не закрывается, потому что автор страницы блокирует событие закрытия.

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

...