Попытка заставить Алексу выслушать мой ответ после моего запроса на запуск - PullRequest
0 голосов
/ 08 февраля 2019

Я очень новичок в развитии навыков Алекса, и я пытаюсь написать простую лямбда-функцию, которая заставит Алекса спросить меня, о каком дне я хотел бы узнать, и когда я говорю о своем намерении, это дает мне ответ.

Навык работает правильно, проблема в том, что после того, как я говорю «имя открытого вызова», он дает мне ответ на запрос запуска, но не слушает мой ответ, когда я говорю свое намерение.

Например, если я скажу Алекса, открой мой навык, он даст мне функцию запуска, которая говорит: «Привет, добро пожаловать в мой класс занятий. О каком дне вы хотели бы узнать?»но когда я говорю свое высказывание, чтобы начать свою функцию намерения, Алекса ничего не делает.

Если я скажу «открой мой навык и скажи« какие у меня занятия в понедельник »», это сработает, но только если я сначала скажу «открой мой навык».

Есть ли функция прослушивания?что я должен написать для Алексы, чтобы подтвердить ее вопрос и выслушать мои намерения?

/* 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 голосов
/ 08 февраля 2019

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

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

Возможно, также учитывая, что вы используете библиотеку alexa-sdk в своем проекте, вы просматриваете документы: https://www.npmjs.com/package/alexa-sdk#basic-project-structure, которые дают реальное полезное понимание структуры дляэто приложение.

...