Skip to content

Instantly share code, notes, and snippets.

@pschild
Created November 23, 2018 14:41
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 pschild/1c3d4c7b35510d7b6a2b00443a3c7674 to your computer and use it in GitHub Desktop.
Save pschild/1c3d4c7b35510d7b6a2b00443a3c7674 to your computer and use it in GitHub Desktop.
alexa-button-input-handler
alexaApp.on('GameEngine.InputHandlerEvent', (request: alexa.request, response: alexa.response) => {
response.say('Button pressed');
});
import * as alexa from 'alexa-app';
export default (request: alexa.request, response: alexa.response): Promise<alexa.response> => {
const r = response
.directive({
type: 'GameEngine.StartInputHandler',
timeout: 10000,
proxies: ['left'],
recognizers: {
all_pressed: {
type: 'match',
fuzzy: true,
anchor: 'start',
pattern: [
{
gadgetIds: ['left'],
action: 'down'
}
]
}
},
events: {
complete: {
meets: ['all_pressed'],
reports: 'matches',
shouldEndInputHandler: true
},
failed: {
meets: ['timed out'],
reports: 'history',
shouldEndInputHandler: true
}
}
})
.say('You have 10 seconds to press a button')
.shouldEndSession(false);
return r.send();
};
{
"manifest": {
"publishingInformation": {
"gadgetSupport": {
"requirement": "REQUIRED",
"numPlayersMin": 1,
"numPlayersMax": 1,
"minGadgetButtons": 1,
"maxGadgetButtons": 1
}
},
"apis": {
"custom": {
"interfaces": [
{
"type": "GAME_ENGINE"
}
]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment