Skip to content

nickclaw/alexa-ability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jul 1, 2016
23017c4 · Jul 1, 2016
Jul 1, 2016
Feb 28, 2016
Jul 1, 2016
Jul 1, 2016
Feb 10, 2016
Jul 1, 2016
Jan 26, 2016
Feb 8, 2016
Jul 1, 2016
Feb 8, 2016
Jan 27, 2016
Feb 27, 2016
Jul 1, 2016

Repository files navigation

alexa-ability Build Status

An Alexa Skills Kit framework for node.

Features

  • Asynchronous middleware and intent handlers
  • Robust error handling
  • Easy access to session and slots data
  • Well tested
  • Integrates well with any framework

Related packages

Example (es5 version)

import { Ability, events } from 'alexa-ability';
import { handleAbility } from 'alexa-ability-lambda-handler';

// create our skill
const app = new Ability({
    applicationId: 'my-application-id'
});


// add middleware function that run before every request
app.use(function(req, next) {
    console.log('Handling:', req);
    next();
});


// handle LaunchRequest - "Alexa, launch MyApp"
app.on(events.launch, function(req, next) {
    const cardTitle = 'Greetings';
    const cardContent = 'Hello world!';
    const speech = (`
        <speak>
            Hello <break time="100ms" /> world
        </speak>
    `);

    req.show(cardTitle, cardContent).say('ssml', speech).send();
});


// handle SessionEndedRequest - "Alexa stop"
app.on(events.end, function(req, next) {
    console.log(`Session ended because: ${req.reason}`);
    req.say('Goodbye!').end();
});


// handle custom intents
app.on('MeaningOfLifeIntent', function(req, next) {
    asyncRequest(function(err) {
        if (err) return next(err);
        req.say('42').end();
    });
});


// catches any unhandled requests
app.use(function(req, next) {
    req.say('I don\'t know what to say').end();
});


// gracefully handles any uncaught errors
app.use(function(err, req, next) {
    req.say('Uhoh, something went wrong').end();
});


// export as a lambda handler
export const handler = handleAbility(app);

About

An Alexa skills framework for node

Resources

License

Stars

Watchers

Forks

Packages

No packages published