Book Image

Hands-On Chatbot Development with Alexa Skills and Amazon Lex

By : Sam Williams
Book Image

Hands-On Chatbot Development with Alexa Skills and Amazon Lex

By: Sam Williams

Overview of this book

Have you ever wondered how Alexa apps are made, how voice-enabled technologies work, or how chatbots function? And why tech giants such as Amazon and Google are investing in voice technologies? A better question is: why should I start developing on these platforms? Hands-On Chatbot Development with Alexa Skills and Amazon Lex covers all features of the Alexa Skills kit with real-world examples that help you develop skills to integrate Echo and chatbots into Facebook, Slack, and Twilio with the Amazon Lex platform. The book starts with teaching you how to set up your local environment and AWS CLI so that you can automate the process of uploading AWS Lambda from your local machine. You will then learn to develop Alexa Skills and Lex chatbots using Lambda functions to control functionality. Once you’ve come to grips with this, you will learn to create increasingly complex chatbots, integrate Amazon S3, and change the way Alexa talks to the user. In the concluding chapters, we shift our focus to Amazon Lex and messaging chatbots. We will explore Alexa, learn about DynamoDB databases, and add cards to user conversations. By the end of this book, you will have explored a full set of technologies that will enable you to create your own voice and messaging chatbots using Amazon.
Table of Contents (13 chapters)

Creating the Lambda

Now that we have done the console setup, we can build the Lambda that will handle the logic behind the skill.

Start by creating a new folder in your lambdas folder, naming it something appropriate, such as carHelper. Inside, we need to create an index.js file and run npm init. We are using alexa-sdk again so we need to run npm install --save alexa-sdk.

With the setup ready, we can start writing the Lambda. We can start with a Lambda that looks very similar to the Lambda we created in our first function:

const Alexa = require('alexa-sdk');

exports.handler = Alexa.SkillBuilders.custom()

The first handler we are going to create is to handle a launch request. This is when a user says something like "Alexa start car helper"; our skill is launched but no intent is triggered. We need to help them trigger one...