I'm writing an Alexa skill and am finished with the code. I only have one problem: I want my skill, which is based on a fact-skill template, to wait for responses after the output. But when the 8 seconds are over and Alexa didn't hear a respond, it puts out an error (Skill response was marked as failure, The target Lambda application returned a failure response). I read in an Amazon document (https://developer.amazon.com/docs/gadget-skills/keep-session-open.html) that normally Alexa just closes the mic. I have to add that I set 'shouldEndSession' to 'false' to let the mic open. Here is my entire Lambda-code:
/* eslint-disable func-names */
/* eslint quote-props: ["error", "consistent"]*/
/**
* This sample demonstrates a simple skill built with the Amazon Alexa Skills
* nodejs skill development kit.
* This sample supports multiple lauguages. (en-US, en-GB, de-DE).
* The Intent Schema, Custom Slots and Sample Utterances for this skill, as well
* as testing instructions are located at [https://github.com/alexa/skill-sample-nodejs-fact[2]
**/
'use strict';
const Alexa = require('alexa-sdk');
//=========================================================================================================================================
//TODO: The items below this comment need your attention.
//============================================================================
=============================================================
//Replace with your app ID (OPTIONAL). You can find this value at the top of your skill's page on http://developer.amazon.com.
//Make sure to enclose your value in quotes, like this: const APP_ID = 'amzn1.ask.skill.bb4045e6-b3e8-4133-b650-72923c5980f1';
const APP_ID = undefined;
const SKILL_NAME = 'Wissens Zitate';
const GET_FACT_MESSAGE = "Hier ist dein Zitat: ";
const HELP_MESSAGE = 'Du kannst zum Beispiel sagen: gib mir ein wissens zitat, oder, du sagst stop, um den Skill zu beenden... Wie kann ich dir helfe?';
const HELP_REPROMPT = 'Womit kann ich dir helfen?';
const STOP_MESSAGE = 'Auf Wiedersehen!';
//=========================================================================================================================================
//TODO: Replace this data with your own. You can find translations of this data at http://github.com/alexa/skill-sample-node-js-fact/data
//=========================================================================================================================================
const data = [
' Wissenschaft ohne Religion ist lahm, Religion ohne Wissenschaft ist blind. - Albert Einstein',
'Für den gläubigen Menschen steht Gott am Anfang, für den Wissenschaftler am Ende aller seiner Überlegungen. - Max Planck ',
'Es ist mein Job, nie zufrieden zu sein. - Wernher von Braun',
'Eine gewaltige Lichtsinfonie spielte in tiefstem, feierlichen Schweigen über unseren Häuptern, wie um unserer Wissenschaft zu spotten: kommt doch her und erforscht mich! Sagt mir, was ich bin! - Alfred Wegener',
'Die Naturwissenschaft braucht der Mensch zum Erkennen, den Glauben zum Handeln. - Max Planck',
'Die Erfindungen für Menschen werden unterdrückt, die Erfindungen gegen sie gefördert. - Bertolt Brecht',
'Ohne Spekulation gibt es keine neue Beobachtung. - Charles Darwin',
'Die Arznei macht kranke, die Mathematik traurige und die Theologie sündhafte Leute. - Martin Luther',
'Wenn alle Experten sich einig sind, ist Vorsicht geboten. - Bertrand Russell',
'Zwei Wahrheiten können sich nie widersprechen. - Galileo Galilei.',
'Wenn die Neugier sich auf ernsthafte Dinge richtet, dann nennt man sie Wissensdrang. - Marie von Ebner-Eschenbach',
'Das schönste Glück des denkenden Menschen ist, das Erforschliche erforscht zu haben und das Unerforschliche zu verehren. - Johann Wolfgang von Goethe.',
'Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. - Albert Einstein.',
'Jedes Naturgesetz, das sich dem Beobachter offenbart, lässt auf ein höheres, noch unerkanntes schließen. - Alexander von Humboldt.',
'Es gibt kein großes Genie ohne einen Schuss Verrücktheit. - Aristoteles.',
'Ich fühle mich nicht zu dem Glauben verpflichtet, dass derselbe Gott, der uns mit Sinnen, Vernunft und Verstand ausgestattet hat, von uns verlangt, dieselben nicht zu benutzen. - Galileo Galilei.',
'Mit dem Wissen wächst der Zweifel. - Johann Wolfgang von Goethe.',
'Die Wahrheit triumphiert nie, ihre Gegner sterben nur aus. - Max Planck.',
'Nicht mit Erfindungen, sondern mit Verbesserungen macht man Vermögen. - Henry Ford.',
'Wozu Socken? Sie schaffen nur Löcher! - Albert Einstein.',
];
//=========================================================================================================================================
//Editing anything below this line might break your skill.
//=========================================================================================================================================
const handlers = {
'LaunchRequest': function () {
this.emit('GetNewFactIntent');
},
'GetNewFactIntent': function () {
const factArr = data;
const factIndex = Math.floor(Math.random() * factArr.length);
const randomFact = factArr[factIndex];
const speechOutput = GET_FACT_MESSAGE + randomFact;
this.response.cardRenderer(SKILL_NAME, randomFact);
this.response.speak(speechOutput);
this.response.shouldEndSession(false, "Reprompt your user here");
this.emit(':responseReady');
},
'AMAZON.HelpIntent': function () {
const speechOutput = HELP_MESSAGE;
const reprompt = HELP_REPROMPT;
this.response.speak(speechOutput).listen(reprompt);
this.emit(':responseReady');
},
'AMAZON.CancelIntent': function () {
this.response.speak(STOP_MESSAGE);
this.emit(':responseReady');
},
'AMAZON.StopIntent': function () {
this.response.speak(STOP_MESSAGE);
this.emit(':responseReady');
},
};
exports.handler = function (event, context, callback) {
const alexa = Alexa.handler(event, context, callback);
alexa.APP_ID = APP_ID;
alexa.registerHandlers(handlers);
alexa.execute();
};
Response Json:
{
"body": {
"version": "1.0",
"response": {
"outputSpeech": {
"type": "SSML",
"ssml": "<speak> Hier ist dein Zitat: Wenn die Neugier sich auf ernsthafte Dinge richtet, dann nennt man sie Wissensdrang. - Marie von Ebner-Eschenbach </speak>"
},
"card": {
"type": "Simple",
"title": "Wissens Zitate",
"content": "Wenn die Neugier sich auf ernsthafte Dinge richtet, dann nennt man sie Wissensdrang. - Marie von Ebner-Eschenbach"
},
"shouldEndSession": false
},
"sessionAttributes": {},
"userAgent": "ask-nodejs/1.0.25 Node/v6.10.3"
}
}
I hope you have any ideas how to solve this. Thanks in avance