hande unknown questions

This commit is contained in:
GotPPay
2018-01-18 22:07:23 +01:00
parent 9e4b06bd4c
commit a570640fe1
2 changed files with 26 additions and 4 deletions

View File

@@ -26,6 +26,11 @@ constants.HTTPResultCodes = {
constants.SKILL_ID_LENGTH = 24;
constants.voiceResponseStrings = {
QUESTION_NOT_FOUND : 'Sorry, I didnt understan',
GENERIC_CONTINUE : 'Would you like to continue'
}
module.exports = constants;

View File

@@ -1,6 +1,7 @@
var Alexa = require ('alexa-sdk');
const config = require ('../config/config');
var databaseHelper = require ('../helpers/database');
const constants = require ('../config/constants');
var handlers = {};
@@ -24,31 +25,47 @@ module.exports = {
alexa.execute ();
},
updateModel: function () {
//TODO : Alexa-sdk has handlers like SessionEndedRequest, Unhandled ,... that can be used
//Get info from database, and store it for faster response on intent
databaseHelper
.getSkill (config.SKILL_DB_ID)
.then (activeSkill => {
handlers = {};
//Handler for launch request
handlers = {
LaunchRequest: function () {
this.response
.speak (activeSkill.invocationAnswer)
.listen (' Would you like to continue ?');
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!!
//TODO : Maybe to ask user does he want to hear possible intents
//For this functionality, we need explanation text for each intent (Question)
this.emit (':responseReady');
},
};
//Handlers for user defined questions
activeSkill.intents.map (intent => {
handlers[intent.intentName] = function () {
this.response
.speak (intent.answer)
.listen ('Would you like to continue ?');
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!!
this.emit (':responseReady');
};
});
//Default handlers for unknown questions and session close
handlers.Unhandled = function () {
this.response
.speak (constants.voiceResponseStrings.QUESTION_NOT_FOUND)
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE);
}
handlers.SessionEndedRequest = function(){
//We don't care for now
}
})
.catch (e => {
//Something is wrong, skill is not ready, use catch-all intent to inform user