Alexa Node JS как обрабатывать событие отмены для нескольких событий

У меня есть несколько намерений по индивидуальным навыкам. Я хочу обработать событие отмены для всех пользовательских намерений. Как я могу получить сообщение об отмене?

const Alexa = require('alexa-sdk');
exports.handler = (event, context) => {
  const alexa = Alexa.handler(event, context);
  var APP_ID = "amzn1.ask.skill.[ssdad-5c61-4d4e-b2bf-7eea8a491816]";
  alexa.APP_ID = APP_ID;
  alexa.registerHandlers(handlers);
  alexa.execute();
};
const handlers = {
  'ConfirmChangeEvent': function() {
    this.emit(':ask', "Do u want commit for change? ");
  },
  'ConfirmLastAction': function() {
    this.emit(':ask', "Do u want confirm for last Action?");
  },

  'LaunchRequest': function() {
    this.emit(':tell', "Hi Damodar, I'm Dialogue manager");
  },
  'Amazon.CancelIntent' : function() {
    // i want handle cancel on both intents here  ConfirmLastAction and Conf irmChangeEvent

    //if ConfirmChangeEvent  should give output like "Okay cancelling changeEvent "

    // ConfirmChangeEvent  should give output like "Okay cancelling the Last Action " 

  }

  'Unhandled': function() {
    this.emit(':tell', "I'm not able to respond at this time");
  }
};

Как мы можем справиться с этим в узле JS Alexa


person Community    schedule 08.11.2017    source источник
comment
что вы имеете в виду, говоря «отменить мероприятие для всех пользовательских намерений?». Есть только одна сессия, которая держит все. Если вы отмените его, он будет отменен полностью   -  person Vijayanath Viswanathan    schedule 08.11.2017


Ответы (1)


Вам нужно использовать управление состоянием. Вот ссылка на документы https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs#making-skill-state-management-simpler

Используя обработчики состояния, вы можете получить другой ответ отмены в зависимости от текущего состояния пользователя.

person Steve Tingiris    schedule 08.11.2017
comment
Большое спасибо @Steve Tingiris - person ; 09.11.2017
comment