在启动请求后尝试让Alexa听我的回应

时间:2019-02-07 21:52:18

标签: aws-lambda alexa alexa-skills-kit alexa-skill alexa-slot

我对正在开发的Alexa技能很陌生,我正在尝试编写一个简单的lambda函数,让Alexa问我想知道哪一天,何时说出我的意图会给我一个答复。

该技能正常运行,问题出在我说“打开调用名称”之后,它给了我启动请求响应,但是当我说出自己的意图时却不听我的响应。

例如,如果我说Alexa,请打开我的技能,它将为我提供启动功能,提示您“嗨,欢迎使用我的课堂技能。您想知道哪一天?”但是当我说我要启动我的意图功能时,Alexa并没有做任何事情。

如果我说“开放我的技能并说“星期一我的课程是什么””,它将起作用,但前提是我先说“开放我的技能”。

我是否必须为Alexa写一个监听功能,以确认她的问题并听取我的意图?

/* eslint-disable  func-names */
/* eslint quote-props: ["error", "consistent"]*/

'use strict';

const Alexa = require('alexa-sdk');

const handlers = {
    'LaunchRequest': function () {
        this.emit('Launch');
    },

    'MondayIntent': function () {
        this.emit('Monday');
    },

    'TuesdayIntent': function () {
        this.emit('Tuesday');
    },

    'Launch': function() {
        this.response.speak("Hi, Welcome to the my classes skill. What day would you like to know about?"); 
        this.emit(':responseReady');
    },

    'Monday': function() {
        this.response.speak("On Monday you have User Experience at 4:00pm."); 
        this.emit(':responseReady');
    },

     'Tuesday': function() {
        this.response.speak("On Tuesday you have Integrative business Apps at 12:30pm."); 
        this.emit(':responseReady');
    },
    'Unhandled': function() {
        this.response.speak("Sorry, Please say a day of the week?"); 
        this.emit(':responseReady');
    }
};

exports.handler = function (event, context) {
    const alexa = Alexa.handler(event, context);
    alexa.registerHandlers(handlers);
    alexa.execute();
};

1 个答案:

答案 0 :(得分:0)

您的问题是您正在返回响应准备就绪。您的启动请求应该是

mat-select

也许还考虑到您正在项目中使用alexa-sdk库,因此查看了以下文档:https://www.npmjs.com/package/alexa-sdk#basic-project-structure,该文档提供了对该应用程序结构的真正有用的理解。