diff --git a/backend/helpers/amazon.js b/backend/helpers/amazon.js index 107b0a6..365be24 100644 --- a/backend/helpers/amazon.js +++ b/backend/helpers/amazon.js @@ -81,6 +81,23 @@ var generateInteractionModel = function (skill) { slots: [], }); + allIntents.push ({ + name: 'YesIntent', + samples: [ + 'Yes', + 'Yes please', + 'I would like that', + 'Yes I would like that', + ], + slots: [], + }); + + allIntents.push ({ + name: 'NoIntent', + samples: ['No', 'No thank you'], + slots: [], + }); + //Special intent for sending message (Dialog) allIntents.push ({ diff --git a/backend/models/alexa.js b/backend/models/alexa.js index d51b051..f227abf 100644 --- a/backend/models/alexa.js +++ b/backend/models/alexa.js @@ -55,9 +55,10 @@ module.exports = { '' + - listOfPossibleQuestions + 'Would you like to hear list of questions that you can ask me' ) .listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!! + this.attributes['LaunchRequestYesNo'] = true; this.emit (':responseReady'); }, }; @@ -65,6 +66,9 @@ module.exports = { //Handlers for user defined questions activeSkill.intents.map (intent => { handlers[intent.intentName] = function () { + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + } this.response .speak (intent.answer) .listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!! @@ -74,6 +78,10 @@ module.exports = { //Handler for sending message handlers.SendMessageIntent = function () { + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + } + let intent = this.event.request.intent; console.log ('Dialog state : ' + this.event.request.dialogState); @@ -163,20 +171,37 @@ module.exports = { //Built-In intents handlers.CancelIntent = function () { - console.log ('Cancel'); - this.reponse.speak ('Thank you for using Saburly'); + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + } + this.response.speak ('Thank you for using Saburly'); this.emit (':responseReady'); }; handlers.HelpIntent = function () { - console.log ('Help'); + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + } this.response .speak (listOfPossibleQuestions) .listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!! this.emit (':responseReady'); }; - //Default handlers for unknown questions and session close + handlers.YesIntent = function(){ + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + this.emit('HelpIntent'); + } + } + + handlers.NoIntent = function (){ + if (this.attributes['LaunchRequestYesNo']){ + this.attributes['LaunchRequestYesNo'] = false; + } + } + + //Default handler for unknown question handlers.Unhandled = function () { this.response @@ -184,6 +209,12 @@ module.exports = { .listen (constants.voiceResponseStrings.GENERIC_CONTINUE); }; + //Session handlers + + handlers.NewSession = function(){ + this.attributes['LaunchRequestYesNo'] = false; + } + handlers.SessionEndedRequest = function () { //We don't care for now };