aws-lambda - 如何检测用户何时结束与 Alexa 的交互?

标签 aws-lambda alexa-skills-kit voice

标题说明了一切。有没有办法让我检测用户何时结束与 Alexa 的交互?我想此时保存用户的配置。而不是按请求访问数据库。

最佳答案

您可以通过处理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);
}

关于aws-lambda - 如何检测用户何时结束与 Alexa 的交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50340751/

相关文章:

aws-lambda - 如何关闭使用 AudioPlayer 界面的 Alexa 技能

python - AWS API 网关 Lambda 错误正则表达式

python - AWS Lambda 代码无法从 S3 导入依赖项 -- Runtime.ImportModuleError

alexa-skills-kit - 发布前如何在 Alexa 应用程序上测试 Alexa 自定义技能?

javascript - speechSynthesis.getVoices() 在 Windows 上返回空数组

python - pyttsx3:无法设置指定的语言

audio - 如何使用 SoX 库制作机器人或 Dalek 语音?

amazon-web-services - 是否可以使用 AWS SAM 配置具有不同 lambda 版本的不同 API Gateway 阶段

amazon-web-services - aws sqs lambda : messages not re-appearing

javascript - 在 Get 请求期间从 Node.js 中的 JSON 数组读取值