Alexa lamda получает значение разрешенного слота в Node.JS - PullRequest
0 голосов
/ 19 июня 2019

У меня есть намерение под названием «Получить статус», в котором есть слот SHOULDCHANGESTATUS, который имеет тип YES_NO

У меня есть следующая логика в моей лямбде, которая отлично работала, используя текстовое средство тестирования вAlexa Dev tools.

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

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

Когда я тестирую это с использованием фактического устройства, слово "Нет" появляется как "Naw".

Слот Yes_No имеет "naw" какприемлемый тип для «Нет», поэтому я должен быть в состоянии справиться с этим.

Мне нужно изменить селектор в слоте SHOULDCHANGESTATUS, чтобы получить базовое значение для этого слота, которое должно быть НЕТ, ноЯ не могу заставить его работать.

Я пытался:

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

, но я получаю неопределенную ошибку.

1 Ответ

0 голосов
/ 20 июня 2019

Я был близко, решение было:

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

Эта структура объекта помогла мне найти то, что мне было нужно:

enter image description here

...