Не могу ответить на необработанное намерение Alexa

Мое необработанное намерение определяется следующим образом:

'Unhandled': function() {
    console.log('#Unhandled');
    console.log('The skill will crash now :(');
    this.emit(':tell', this.t('UNHANDLED_MESSAGE'));
}

Я вижу в своих журналах, что эта функция вызывается. Однако Alexa полностью игнорирует emit-Call. Вместо этого я слышу звук типа «дуду», и умение закрывается.

Может ли кто-нибудь объяснить мне, как я могу использовать эту функцию, чтобы что-то сказать пользователю, вместо того, чтобы закрывать навык?


person Beric    schedule 13.03.2018    source источник
comment
Срабатывает ли этот Unhandled, когда в вашей лямбда-функции возникает какое-то исключение?   -  person user398707    schedule 14.03.2018
comment
Когда это происходит, в Lambda не регистрируются исключения.   -  person Beric    schedule 14.03.2018


Ответы (2)


Я не уверен, но возможно, this.t что-то не соответствует? Если вы просто отправите текст типа this.emit(':tell', 'this is unhandled');, ответит ли он?

person algrice    schedule 14.03.2018
comment
this.t совпадает, я уже пробовал простой текст, но это тоже не сработало: / - person Beric; 16.03.2018

У меня был подобный опыт, но в моем случае "Unhandled" не называется, а мой скилл закрывается звуком "дуду".

Я не смог найти официального документа, чтобы объяснить это, но "Необработанный" вызывается, когда вы используете "состояние" в своем скрипте. Если я использую состояние в своем скрипте, вызывается Unhandled.

Это блог, посвященный навыкам работы с Alexa. https://developer.amazon.com/blogs/alexa/post/Tx213D2XQIYH864/announcing-the-alexa-skills-kit-for-node-js

person tokentoken    schedule 23.06.2018