I am creating a custom skill for Alexa. I want to close the session on AMAZON.StopIntent
. How can I achieve this with below code?
const ExitHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return request.type === 'IntentRequest'
&& (request.intent.name === 'AMAZON.StopIntent');
},
handle(handlerInput) {
return handlerInput.responseBuilder
.speak('bye!')
.reprompt('bye!')
.getResponse();
},
};
In your code snippet you would end the session just by removing the reprompt line:
so the suggested solution below works but it's redundant:
The code above is often used in the opposite scenario, when you want to keep the session open without a reprompt:
Alexa ends the session when shouldEndSession flag is set to true in the response JSON.
In your response builder can you try with the helper function withShouldEndSession(true)
Response builder helper functions are listed here