var express = require("express"); var alexa = require("alexa-app"); var PORT = process.env.port || 5000; var app = express(); // ALWAYS setup the alexa app and attach it to express before anything else. var alexaApp = new alexa.app("step1"); alexaApp.express({ expressApp: app, // verifies requests come from amazon alexa. Must be enabled for production. // You can disable this if you're running a dev environment and want to POST // things to test behavior. enabled by default. checkCert: false, // sets up a GET route when set to true. This is handy for testing in // development, but not recommended for production. disabled by default debug: true }); const responseMessages = { WELCOME:'We are Saburly. Team of design and build software. We are located in Bosnia and Herzegovina. To ask us about our services, say: what do you do? If you want to know about technologies say: what do you know? If you\'re interested in projects we worked on, say: tell me about your projects. If you want to know about how we approach work, say: tell me about your process. If you are confused, just say: help!', PROCESS: 'We collaborate closely with our clients at each step of the developmentprocess. From designing the UX to developing the front-end andarchitecting the back-end.', SERVICES: 'We are a team of creative, open minded, skilled and fun loving engineers that ship success every day. Here are the 3 things we can do for you: UX and UI design, web development, and mobile development.', TECHNOLOGIES: 'Some of the technologies we use are: html5, react, nodejs, ruby, amazon aws, docker, jenkins, elastic, etc.', PROJECTS: 'Some of our projects are: Agritech IoT Solution, real-estate search website, online shop for baby products, students registry for Ministry of Education, etc.', WELCOME_REPROMPT: 'For instructions on what you can say, please say: help.', HELP: 'To ask us about our services, say: what do you do? If you want to know about technologies say: what do you know? If you\'re interested in projects we worked on, say: tell me about your projects. If you want to know about how we approach work, say: tell me about your process.', STOP: 'Goodbye, and stay Saburly.', UNKNOWN_PIECE_OF_INFO: 'You can ask us about projects, technologies, services and process' }; alexaApp.launch(function(request, response) { response.say(responseMessages.WELCOME).reprompt(responseMessages.WELCOME_REPROMPT).shouldEndSession(false); }); alexaApp.intent("AMAZON.HelpIntent", { utterances: [], }, function (request, response) { response.say(responseMessages.HELP).shouldEndSession(false); } ); alexaApp.intent("AMAZON.StopIntent", { utterances: [], }, function (request, response) { response.say(responseMessages.STOP); } ); alexaApp.intent("AMAZON.CancelIntent", { utterances: [], }, function (request, response) { response.say(responseMessages.STOP); } ); // alexaApp.intent("GetProcessIntent", { // "utterances": [ // "tell me about your process", // "what is your process", // "explain your process", // "process", // "talk about your process" // ] // }, // function(request, response) { // response.say(responseMessages.PROCESS).shouldEndSession(false); // } // ); alexaApp.intent("GetInfoIntent", { "utterances": [] }, function(request, response) { switch(request.slot("InfoSlot")) { case "process": response.say(responseMessages.PROCESS).shouldEndSession(false); break; case "services": response.say(responseMessages.SERVICES).shouldEndSession(false); break; case "technologies": response.say(responseMessages.TECHNOLOGIES).shouldEndSession(false); break; case "projects": response.say(responseMessages.PROJECTS).shouldEndSession(false); break default: response.say(responseMessages.UNKNOWN_PIECE_OF_INFO).shouldEndSession(false); } } ); alexaApp.intent("WhatIntent", { "utterances": [] }, function(request, response) { switch(request.slot("ActionSlot")) { case "do": response.say(responseMessages.SERVICES).shouldEndSession(false); break; case "know": response.say(responseMessages.TECHNOLOGIES).shouldEndSession(false); break default: response.say(responseMessages.UNKNOWN_PIECE_OF_INFO).shouldEndSession(false); } } ); // alexaApp.intent("GetTechnologiesIntent", { // "utterances": [ // "what technologies do you know", // "what technologies do you use", // "what technologies do you work with", // "technologies", // "talk about your technologies" // ] // }, // function(request, response) { // response.say(responseMessages.TECHNOLOGIES).shouldEndSession(false); // } // ); // alexaApp.intent("GetServicesIntent", { // "utterances": [ // "what do you do", // "what services do you offer", // "what are your services", // "tell me something about your services", // "i want to know about your services", // "services", // "talk about your services" // ] // }, // function(request, response) { // response.say(responseMessages.SERVICES).shouldEndSession(false); // } // ); // alexaApp.intent("GetProjectsIntent", { // "utterances": [ // "tell me about projects", // "say something about your project", // "what are your projects", // "projects", // "talk about your projects" // ] // }, // function(request, response) { // response.say(responseMessages.PROJECTS).shouldEndSession(false); // } // ); app.listen(PORT); console.log("Listening on port " + PORT + ", try http://localhost:" + PORT + "/step1");