Как заставить хендлеров волноваться и запустить навык Alexa, используя сообщение презентации (javascript) - PullRequest
0 голосов
/ 21 февраля 2020

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

    exports.handler = (event, context) => {
    const alexa = Alexa.handler(event, context);
   const skillBuilder = alexa_info.SkillBuilders.custom();
     skillBuilder
    .addRequestHandlers(LaunchRequest,
    LaunchRequestHandler,
    GreetMeIntentHandler,
    EmailIntentHandler,
    MobileIntentHandler,
    HelpIntentHandler,
    CancelAndStopIntentHandler,
    SessionEndedRequestHandler
    )
    .addRequestInterceptors(RequestLog)
    .addResponseInterceptors(ResponseLog)
    .addErrorHandlers(ErrorHandler)
    .withApiClient(new alexa_info.DefaultApiClient())
    .lambda();

    alexa.APP_ID = APP_ID;
    alexa.registerHandlers(handlers);
    alexa.execute();
};

и мой запрос на запуск:

const LaunchRequest = {
  canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
  },
  handle(handlerInput) {
    return handlerInput.responseBuilder.speak(messages.WELCOME)
        .reprompt(messages.HELP)        
        .reprompt(messages.WHAT_DO_YOU_WANT)
        .getResponse();
  },
};

const LaunchRequestHandler = {
  canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
  },
  handle(handlerInput) {
    const speechText = messages.WELCOME;
    const reprompt = messages.WHAT_DO_YOU_WANT;

    return handlerInput.responseBuilder
      .speak(speechText)
      .reprompt(reprompt)
      .withSimpleCard(APP_NAME, speechText)
      .getResponse();
  },
};

Итак: 1 - когда я вызываю навык "alexa, открой" mySkillName " он отвечает, что в ответе навыка есть ошибка. Хотелось бы, чтобы строка, содержащаяся в константе сообщения, возвращалась. ДОБРО ПОЖАЛОВАТЬ 2- alexa.registerHandlers (обработчики), она работает, она позволяет мне выполнять все функции созданные внутри него работают, в то время как часть кода, связанная с skillBuilder, не возвращается: когда я пытаюсь протестировать его, он не работает, например, возвращая сообщение: «Для события GreetMeIntent не определена функция-обработчик. Это ошибка:

"errorType": "Error", "errorMessage": "В состоянии: не было определено никакой функции-обработчика для события GreetMeIntent и не была определена функция 'Unhandled'.", "trace": ["Ошибка: в состоянии:. Для события GreetMeIntent не определена функция-обработчик и не определена функция 'Unhandled'.", "в AlexaRequestEmitter.EmitEvent

спасибо за помощь

...