Skip to content

nicholasjackson/slack-bot-lex-lambda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slackbot with AWS Lex and Lambda

This repository contains an example of a slack bot with AWS Lex and Lambda, for details and a walk through on how this was created please read the blog post at: chttps://nicholasjackson.io/2017/04/25/slack-bot-aws-lambda/.

This project does not use any frameworks such as Serverless or Apex. It is a plain example which uses Terraform to deploy the Lambda function.

Requirements:

Caviates

  • I am not a JavaScript programmer
  • This not a comprehensive example but more of a getting started
  • Deployment to AWS may incur costs

Building

The code is written in Javascript and requires no building as such however there is a build step which will copy the required files and install the node modules ready for packaging to AWS Lambda.

$ make build

Testing

Testing is performed with Jest, to run the example tests:

$ make test

The tests are not comprehensive however and are intended to show how unit tests can be leveraged to cover the inability to run the application code locally with AWS Lambda.

Deploying

Set the following environment variables I recommend using direnv https://direnv.net:

Variable Description
TF_VAR_slack_api_key A valid key to access the slack API
AWS_SECRET The secret for your AWS account
AWS_SECRET_KEY The secret key for your AWS account

Run...

$ make deploy

The function will be deployed to us-east-1 virginia which is currently the only region which supports Lex.

About

Example slack bot using AWS Lambda and Lex

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published