启动请求亚马逊Alexa后的简单话语

问题描述 投票:0回答:1

我刚刚进入Alexa并制作了经典的“太空事实”技巧。但是,我没有找到任何有关如何在启动请求后添加话语的资源。

我想做的一个例子:我:Alexa open Space Facts Alexa:土星很大我:下一个

我认为命令“下一个”必须是一个话语。我想过使用插槽或意图确认,但我认为这不会起作用,是吗?

我想要实现的是,在一个空间事实之后,用户可以简单地说“下一个”或“再一个”来再次触发我的功能。

我是否只是错过了什么,是不是没有记录或是不可能的?

alexa alexa-skill alexa-voice-service
1个回答
0
投票

太空事实技巧有一系列事实。所以你要做的就是当用户说“Next”或“One more”时从数组中选择一个。

使用AMAZON.NextIntent 为了捕获用户的“下一个”话语,请在交互模型中使用预定义的AMAZON.NextIntent。因此,当用户说“下一步”时,将映射此意图。还要添加“一个”作为此意图的额外话语。

现在,在你的后端代码中添加AMAZON.NextIntent处理程序,并为其响应从事实数组中获取另一个事实。 (添加一些逻辑,以便技能不会再次随机返回相同的事实。您可以使用sessionAttributes来跟踪读取事实索引)

注意:为了让Alexa在说出第一个事实后等待用户输入,您需要保持会话处于活动状态。据我所知,事实技巧在它说出第一个事实后结束了会议。

会话根据响应中的shouldEndSession参数保持活动状态。对于任何请求,如果没有提供,shouldEndSession默认为true。在您的情况下,对LaunchRequest的响应应该将此shouldEndSession参数设置为false。只有会话保持开放且用户可以说“下一步”。

阅读this answer以了解有关如何使用ask-nodejs-sdk保持会话活动的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.