让我介绍一下我的问题。
我有一个自定义广告位类型,是。它处理 yes no 及其同义词。我正在为我的处理程序使用NodeJ。
我在使用此插槽的地方有一个OfferIntent。我已将此插槽设为必选插槽,并且正在处理代码中的提示。代码始终会询问是或否的问题,例如“等等等等,您是否有兴趣申请此优惠?”。
我为此插槽设置了用户话语,
{confirmation} please
{confirmation} I am
{confirmation}
问题是,当我从另一个意图为该插槽添加ElicitSlotDirective时,如果我仅回答“是”,则该问题将不会继续进行。设备日志显示Alexa捕获的值是“是”,但仍会再次提示。当我回答“是”或“请”时,它会按预期工作。
return handlerInput.responseBuilder
.addElicitSlotDirective("confirmation", {
name: "OfferIntent",
confirmationStatus: "NONE",
slots: {}
})
.speak(speechText + speechText1)
.reprompt(speechText1)
.getResponse();
如果我直接访问此意图,而不是使用addElicitSlotDirective进行重定向,则“是”可以正常工作。
我比较了两种情况的设备日志,发现除了时间和requestID之外没有其他区别。
如果您需要任何其他信息,请告诉我。我认为这与Alexa有关。请分享您的想法。