我一直试图找出如何使AMAZON.YesIntent在触发另一个intent之后运行。我四处搜寻并尝试了不同的解决方案,但它们始终无法正常工作。
答案 0 :(得分:4)
您可以从另一个Intent处理程序调用任何处理程序。
alexa-nodejs-sdk v1
对于alexa-nodejs-sdk
v1,您可以使用
'SomeOtherIntent': function() {
// Do your stuff here
// Now to call AMAZON.YesIntent intent handler
this.emit('AMAZON.YesIntent');
}
alexa-nodejs-sdk v2
对于alexa-nodejs-sdk
v2,您可以导入目标句柄函数(如果它在其他模块中),或者直接调用它并传递handlerinput
。
const SomeOtherIntentHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return request.type === 'IntentRequest'
&& request.intent.name === 'SomeOtherIntent';
},
handle(handlerInput) {
// Do your stuff here
// Now to call AMAZON.YesIntent intent handler
return amazonYesIntentHandler.handle(handlerInput);
}
}