Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This sample demonstrates handling intents from an Alexa skill using the Alexa Skills Kit SDK (v2).
- // Please visit https://alexa.design/cookbook for additional examples on implementing slots, dialog management,
- // session persistence, api calls, and more.
- const Alexa = require('ask-sdk-core');
- const LaunchRequestHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
- },
- handle(handlerInput) {
- const speakOutput = 'Benvenuto, chidimi una barzelltta dicendomi: dimmi una barzelletta';
- return handlerInput.responseBuilder
- .speak(speakOutput)
- .reprompt(speakOutput)
- .getResponse();
- }
- };
- const StorielleIntentHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
- && Alexa.getIntentName(handlerInput.requestEnvelope) === 'StorielleIntent';
- },
- handle(handlerInput) {
- var storielle=new Array();
- storielle.push("Bambini, come vorreste che fosse la vostra scuola? Rispondono in coro gli scolari: ");
- var x=Math.floor(Math.random() * storielle.length);
- const speakOutput = storielle[x];
- return handlerInput.responseBuilder
- .speak(speakOutput)
- //.reprompt('add a reprompt if you want to keep the session open for the user to respond')
- .getResponse();
- }
- };
- const HelpIntentHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
- && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON.HelpIntent';
- },
- handle(handlerInput) {
- const speakOutput = 'per chiedermi una barzelletta basta che mi dici la frase dimmi una barzelletta';
- return handlerInput.responseBuilder
- .speak(speakOutput)
- .reprompt(speakOutput)
- .getResponse();
- }
- };
- const CancelAndStopIntentHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
- && (Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON.CancelIntent'
- || Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON.StopIntent');
- },
- handle(handlerInput) {
- const speakOutput = 'Ci vediamo';
- return handlerInput.responseBuilder
- .speak(speakOutput)
- .withShouldEndSession(true)
- .getResponse();
- }
- };
- const SessionEndedRequestHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'SessionEndedRequest';
- },
- handle(handlerInput) {
- // Any cleanup logic goes here.
- return handlerInput.responseBuilder.getResponse();
- }
- };
- // The intent reflector is used for interaction model testing and debugging.
- // It will simply repeat the intent the user said. You can create custom handlers
- // for your intents by defining them above, then also adding them to the request
- // handler chain below.
- const IntentReflectorHandler = {
- canHandle(handlerInput) {
- return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest';
- },
- handle(handlerInput) {
- const intentName = Alexa.getIntentName(handlerInput.requestEnvelope);
- const speakOutput = `Stai usando ${intentName}`;
- return handlerInput.responseBuilder
- .speak(speakOutput)
- //.reprompt('add a reprompt if you want to keep the session open for the user to respond')
- .getResponse();
- }
- };
- // Generic error handling to capture any syntax or routing errors. If you receive an error
- // stating the request handler chain is not found, you have not implemented a handler for
- // the intent being invoked or included it in the skill builder below.
- const ErrorHandler = {
- canHandle() {
- return true;
- },
- handle(handlerInput, error) {
- console.log(`~~~~ Errore 101: ${error.stack}`);
- const speakOutput = `Scusami c'è stato un erorre`;
- return handlerInput.responseBuilder
- .speak(speakOutput)
- .reprompt(speakOutput)
- .getResponse();
- }
- };
- // The SkillBuilder acts as the entry point for your skill, routing all request and response
- // payloads to the handlers above. Make sure any new handlers or interceptors you've
- // defined are included below. The order matters - they're processed top to bottom.
- exports.handler = Alexa.SkillBuilders.custom()
- .addRequestHandlers(
- LaunchRequestHandler,
- StorielleIntentHandler,
- HelpIntentHandler,
- CancelAndStopIntentHandler,
- SessionEndedRequestHandler,
- IntentReflectorHandler, // make sure IntentReflectorHandler is last so it doesn't override your custom intent handlers
- )
- .addErrorHandlers(
- ErrorHandler,
- )
- .lambda();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement