我正在尝试关注this撰写的Jessica Dene关于媒介的精彩文章。当用户说出全局取消命令(例如“ quit”)时,我希望我的操作以“再见”消息作为响应。我试图按照Jessica提供的说明进行操作,如下所示:
将actions_intent_CANCEL事件添加到我的最终意图
了解更多-不-不,我的最终意图是。正如您在下面看到的那样,当我尝试在“事件”下添加“ actions_intent_CANCEL”时,在下拉菜单中我看不到它是建议
但是考虑到{_3},确实存在actions_intent_CANCEL,我添加了它
错误 我保存了意图并在网络模拟器中尝试了,我看到以下错误
知道为什么我会收到此错误吗?
答案 0 :(得分:2)
直接键入actions_intent_CANCEL
是完全合适的。下拉列表中的大多数内容都是用于类似Welcome的意图的,而不是可能发生的对话中事件。您有正确的操作名称。
听起来您在很大程度上正确地处理了它。您唯一需要做的另一件事就是显式关闭对话。
如果您使用Webhook来实现,则如何执行取决于您使用的库(假设您正在使用库)。
如果您使用的是Google行动库,则可以使用conv.close()
函数:
conv.close(`Okay, let's try this again later.`);
使用dialogflow-fillfillment库,它将为agent.end()
:
agent.end(`Okay, let's try this again later.`);
如果您使用的是多声乐,则可以将环境设置ShouldClose
设置为true,或在Response中将其设置为true。
Response: {
"Action.multivocal.welcome": [
{
Template: {
Text: "Hello world."
},
ShouldClose: true
}
]
}
如果您使用的是JSON,则可以将payload.data.expectUserResponse
设置为false。
最后,如果您不使用Webhook来实现,而仅使用Dialogflow的“响应”部分,则可以打开“将此意图设置为对话结束”。
答案 1 :(得分:0)
是的,actions_intent_CANCEL
已从文档中以及从Dialogflow中的事件下拉列表中删除。
因此,要退出对话,您可以尝试以下操作:-
(1)制作一个实体条目,其中包含用于退出对话的所有引号,例如:-再见,再见,毕比,稍后再与您交谈。
(2)意图提供一些用户退出对话的示例,例如:-我有一些工作,再见。
(3)并选择意图底部的结束对话水龙头,以便对话以示例响应结束。
(4)并为BYE / CANCEL提出一个建议示例,其中包含所有意图以改善对话流程</ p>
使用上述步骤,您可以模仿actions_intent_CANCEL
事件