Ответ 1
В AskIntentHandler вы должны установить свой "canHandle" на имя намерения, например, в дополнение к проверке слота вопроса.
const AskIntentHandler = {
canHandle (handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
handlerInput.requestEnvelope.request.intent.name === 'AskIntent' &&
!!handlerInput.requestEnvelope.request.intent.slots['question'].value
},
handle (handlerInput) {
// API Request Here
}
}
Также, если для выполнения намерения всегда требуется "вопрос", вы можете настроить диалоговое окно, чтобы Alexa спросила пользователя "вопрос", если она его не распознает.
https://developer.amazon.com/docs/custom-skills/delegate-dialog-to-alexa.html