在Alexa Skill中运行特定意图后如何运行YesIntent

时间:2018-12-06 09:39:54

标签: node.js aws-lambda alexa alexa-skills-kit alexa-skill

我一直试图找出如何使AMAZON.YesIntent在触发另一个intent之后运行。我四处搜寻并尝试了不同的解决方案,但它们始终无法正常工作。

1 个答案:

答案 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);
   }
}