Как определить, когда пользователь завершает взаимодействие с alexa? - PullRequest
0 голосов
/ 15 мая 2018

Название говорит само за себя.Есть ли способ определить, когда пользователь заканчивает взаимодействие с Alexa?К этому времени я хочу сохранить конфигурацию пользователя.Вместо попадания в базу данных по запросу.

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете сделать это, обработав SessionEndedRequest.

Это отрывки из https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/wiki/Developing-Your-First-Skill,, которые помогут вам в разработке вашего первого навыка Alexa.

const SessionEndedRequestHandler = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'SessionEndedRequest';
    },
    handle(handlerInput) {
        //any cleanup logic goes here
        return handlerInput.responseBuilder.getResponse();
    }
};

'use strict';

const Alexa = require('ask-sdk-core');
// use 'ask-sdk' if standard SDK module is installed

// Code for the handlers here

let skill;

exports.handler = async function (event, context) {
  console.log(`REQUEST++++${JSON.stringify(event)}`);
  if (!skill) {
    skill = Alexa.SkillBuilders.custom()
      .addRequestHandlers(
        SessionEndedRequestHandler,
      )
      .addErrorHandlers(ErrorHandler)
      .create();
  }
  
  return skill.invoke(event,context);
}
...