Alexa lamda 在 Node.JS 中获取基础解析槽值

Alexa lamda get underlying resolved slot value in Node.JS

我有一个名为 "Get Status" 的意图,它有一个类型为 YES_NO

SHOULDCHANGESTATUS 插槽

我的 Lambda 中有以下逻辑,使用 Alexa Dev 工具中的文本测试工具运行良好。

let changeStatusSlot = handlerInput.requestEnvelope.request.intent.slots.SHOULDCHANGESTATUS.value;      

if(changeStatusSlot === 'no'){
    return statusFunctions.closureMessage(handlerInput);
}

当我使用实际设备对此进行测试时,"No" 一词显示为 "Naw"。

Yes_No 插槽有 "naw" 作为 "No" 可接受的类型,所以我应该能够处理这个。

我需要更改 SHOULDCHANGESTATUS 插槽上的选择器以获得此插槽的基础值,它应该是 NO 但我无法让它工作。

我试过:

handlerInput.requestEnvelope.request.intent.slots.SHOULDCHANGESTATUS.Resolution.Authorities[0].Values[0].Value.Name 

但是我得到一个未定义的错误。

我很接近,解决方案是:

handlerInput.requestEnvelope.request.intent.slots['SHOULDCHANGESTATUS'].resolutions.resolutionsPerAuthority[0].values[0].value.name;

这个对象结构帮助我找到了我需要的东西: