alexa sdk自定义逻辑,以确定是否需要插槽

时间:2019-06-05 07:05:32

标签: alexa-skills-kit

我有两个插槽:一个名为“ name”的自定义插槽和一个名为AMAZON.NUMBER类型的“ number”的自定义插槽。 现在,对于某些名称,此数字是必需的,而对于其他名称,则不需要。 如果其中一个名字没有数字,我如何让alexa询问数字? 我可以使用CanFulFillIntentRequest吗? 如果是这样,关于它的所有站点都说我必须在接口下启用它,但是我在那儿找不到它。它被删除了吗? 顺便说一句,我在lambda函数中将Alexa sdk v2用于node.js

2 个答案:

答案 0 :(得分:0)

如果您同时为两个插槽设置CanFulFillIntentRequest,则只有在2个插槽被填充时,该意图才会达到lamdba。您可以使CanFulFillIntentRequest成为必要的一个(名称),在后端(lambda)中您可以检查数字。要求提供必要的数字答复。

答案 1 :(得分:0)

一种无需更改代码即可进行更新的方法是:

  • 创建一个具有数字所需的名称的JSON并将其存储在S3中。
  • 使用Lambda函数进行检索。
  • 让Lambda函数检查Name Slot的值是否在JSON中。
    • 如果是这样,则控制对话框。我强烈建议您检查this
    • 否则,请继续。

似乎有点复杂,主要是因为您自己控制了对话框。另一个选择是确定所需的数字,然后让Alexa进行对话框管理,这是不需要该数字时的处理方法。

如果您知道哪些名称需要一个数字,我会使用一个不同的插槽并输入所需的数字,然后让Alexa进行对话框管理,此解决方案的缺点是您需要手动更新这些名称(或使用批量操作)。

我认为这两种解决方案中的任何一种都可以锻炼。

我希望您觉得这有用。