actions_intent_CANCEL无法正常工作

时间:2018-09-30 03:16:04

标签: dialogflow actions-on-google google-assistant-sdk google-home

我正在尝试关注this撰写的Jessica Dene关于媒介的精彩文章。当用户说出全局取消命令(例如“ quit”)时,我希望我的操作以“再见”消息作为响应。我试图按照Jessica提供的说明进行操作,如下所示:

将actions_intent_CANCEL事件添加到我的最终意图

了解更多-不-不,我的最终意图是。正如您在下面看到的那样,当我尝试在“事件”下添加“ actions_intent_CANCEL”时,在下拉菜单中我看不到它是建议

enter image description here

但是考虑到{_3},确实存在actions_intent_CANCEL,我添加了它

docs

错误 我保存了意图并在网络模拟器中尝试了,我看到以下错误

enter image description here

知道为什么我会收到此错误吗?

2 个答案:

答案 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的“响应”部分,则可以打开“将此意图设置为对话结束”。

enter image description here

答案 1 :(得分:0)

是的,actions_intent_CANCEL已从文档中以及从Dialogflow中的事件下拉列表中删除。 因此,要退出对话,您可以尝试以下操作:-

(1)制作一个实体条目,其中包含用于退出对话的所有引号,例如:-再见,再见,毕比,稍后再与您交谈。

(2)意图提供一些用户退出对话的示例,例如:-我有一些工作,再见。

(3)并选择意图底部的结束对话水龙头,以便对话以示例响应结束。

(4)并为BYE / CANCEL提出一个建议示例,其中包含所有意图以改善对话流程<​​/ p>

使用上述步骤,您可以模仿actions_intent_CANCEL事件