complete switch to new alexa package
This commit is contained in:
50
backend/models/alexa.js
Normal file
50
backend/models/alexa.js
Normal file
@@ -0,0 +1,50 @@
|
||||
var Alexa = require ('alexa-sdk');
|
||||
const config = require ('../config/config');
|
||||
var databaseHelper = require ('../helpers/database');
|
||||
|
||||
// Build the context manually, because Amazon Lambda is missing
|
||||
var context = {
|
||||
succeed: function (result) {
|
||||
console.log (result);
|
||||
res.json (result);
|
||||
},
|
||||
fail: function (error) {
|
||||
console.log (error);
|
||||
//We could send error json from here
|
||||
},
|
||||
};
|
||||
|
||||
var handlers = {};
|
||||
|
||||
module.exports = {
|
||||
run: function (req, res) {
|
||||
var alexa = Alexa.handler (req.body, context);
|
||||
alexa.appId = config.SKILL_ID;
|
||||
alexa.registerHandlers (handlers);
|
||||
alexa.execute ();
|
||||
},
|
||||
updateModel: function () {
|
||||
//Get info from database, and store it for faster response on intent
|
||||
databaseHelper
|
||||
.getSkill (config.SKILL_DB_ID)
|
||||
.then (activeSkill => {
|
||||
handlers = {};
|
||||
handlers = {
|
||||
LaunchRequest: function () {
|
||||
this.response.speak (activeSkill.invocationAnswer);
|
||||
this.emit (':responseReady');
|
||||
},
|
||||
};
|
||||
activeSkill.intents.map (intent => {
|
||||
handlers[intent.intentName] = function () {
|
||||
this.response.speak (intent.answer);
|
||||
this.emit (':responseReady');
|
||||
};
|
||||
});
|
||||
})
|
||||
.catch (e => {
|
||||
//Something is wrong, skill is not ready, use catch-all intent to inform user
|
||||
console.log ('Error. Skill doesnt exist');
|
||||
});
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user