我在Dialogflow中为我的取消事件启用了Webhook。
我需要检查流程的当前阶段,以防万一是付款还是转账,我只需要进入主要流程而不关闭整个对话即可。
但是,我看到该应用程序不允许我阻止退出。无论如何,它迫使对话存在。有人可以帮忙吗?我可以使用其他任何解决方法来防止退出来处理我遇到的情况吗?
这是使用Google动作框架在node.js中编写的取消事件代码。
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.");
});
答案 0 :(得分:1)
不,没有。
这就像浏览器窗口不会关闭,因为页面作者阻止了close事件。
用户对完成该操作具有最终控制权-最好的办法是保存状态并警告他们这是他们已完成的事情,并在将来可以重新启动它。