Skip to content

Instantly share code, notes, and snippets.

@pkarthikr
Created December 8, 2021 09:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pkarthikr/79b6f614d34e2561fc114f30b4a21b0d to your computer and use it in GitHub Desktop.
Save pkarthikr/79b6f614d34e2561fc114f30b4a21b0d to your computer and use it in GitHub Desktop.
Capturing Skill Event Handler
const SkillEventHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return (
request.type === 'AlexaSkillEvent.SkillPermissionAccepted' ||
request.type === 'AlexaSkillEvent.SkillPermissionChanged');
},
async handle(handlerInput) {
const userID = handlerInput.requestEnvelope.context.System.user.userId;
let acceptedPermissions;
switch (handlerInput.requestEnvelope.request.type) {
case 'AlexaSkillEvent.SkillEnabled':
logger.logI('EH-Skill Enabled for:',userID);
break;
case 'AlexaSkillEvent.SkillDisabled':
logger.logI('EH-Skill Disabled for:',userID);
break;
case 'AlexaSkillEvent.SkillPermissionAccepted':
acceptedPermissions = JSON.stringify(handlerInput.requestEnvelope.request.body.acceptedPermissions);
const { serviceClientFactory } = handlerInput;
const client = serviceClientFactory.getUpsServiceClient();
const email = await client.getProfileEmail();
const name = await client.getProfileGivenName();
const mobile = await client.getProfileMobileNumber();
logger.logI(`EH-Skill Permissions Accepted for ${userID}`, `New permissions: ${acceptedPermissions}`);
break;
case 'AlexaSkillEvent.SkillPermissionChanged':
acceptedPermissions = JSON.stringify(handlerInput.requestEnvelope.request.body.acceptedPermissions);
logger.logI(`EH-Skill Permissions Changed for ${userID}`, `New permissions: ${acceptedPermissions}`);
break;
default:
logger.logI(`EH-Unexpected Request`,`${handlerInput.requestEnvelope.request.type}`);
}
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment