我为Alexa实施了一个多转对话框。 Help-Intent根据对话框的状态提供不同的Help-Texts。在用户触发了HelpIntent并显示了Help-Text之后,我想用ElicitSlotDirective引出一个特定的插槽
现在这似乎不受支持,因为你只能引出当前意图的插槽,而HelpIntent没有插槽。
https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/issues/162
我现在的问题是:如何在用户触发HelpIntent后返回我的多圈对话框并引出特定的插槽?
答案 0 :(得分:2)
您现在可以使用意图链接从其他意图中获取广告位。例如:
.addDirective({
type: 'Dialog.ElicitSlot',
slotToElicit: 'drink',
updatedIntent: {
name: 'OrderIntent',
confirmationStatus: 'NONE'
}
})
请参阅此blog post。
答案 1 :(得分:0)
文件说明:
建议实现内置意图,但这是可选的。
我建议您定义自己的HelpIntent,其中包含与AMAZON.HelpIntent重叠的话语,但需要使用您需要的Slot类型。
在这种情况下,您的服务会收到MyHelpIntent的IntentRequest,即使这些短语与内置的AMAZON.HelpIntent重叠。
文档还指出,不推荐这种做法,因为内置意图可以更好地覆盖样本话语。它指出扩展内置Intent是更好的做法。但是(亚马逊愚蠢),HelpIntent不支持Slots。所以唯一的方法是自定义帮助意图。
我没有看到使用内置Intent的Dialog Directives的方法。
答案 2 :(得分:0)
这是一个可能行之有效的解决方法(目前尚无直接方法,2018年11月):
当您处于基于对话框的Intent中且仅当lastIntent是HelpIntent(上一步中的那个)时,请执行以下步骤: