Create chat bots for Facebook Messenger, Slack, Amazon Alexa, Skype, Telegram, Viber, Line, GroupMe, Kik and Twilio and deploy to AWS Lambda in minutes
Latest commit 3a8a687 Aug 3, 2018

README.md

Claudia Bot Builder

npm npm npm Build Status Join the chat at https://gitter.im/claudiajs/claudia

Claudia Bot Builder helps developers create and deploy chat-bots for various platforms in minutes to AWS Lambda. It simplifies the messaging workflows, automatically sets up the correct web hooks, and guides you through configuration steps, so that you can focus on important business problems and not have to worry about infrastructure code.

🚀 Getting Started 🛠 API Docs 🤖 Example projects 🤔 FAQ 💬 Chat on Gitter

Check out this two minute video to see how you can create and deploy a bot quickly:

Here's a simple example:

const botBuilder = require('claudia-bot-builder');
const excuse = require('huh');

module.exports = botBuilder(function (message) {
  return 'Thanks for sending ' + message.text +
    'Your message is very important to us, but ' +
    excuse.get();
});

This code is enough to operate bots for all supported platforms. Claudia Bot Builder automatically parses the incoming messages into a common format, so you can handle it easily. It also automatically packages the response into the correct message template for the requesting bot, so you do not have to worry about individual bot protocols.

Supported platforms

  • Facebook Messenger
  • Slack (channel slash commands and apps with slash commands)
  • Skype
  • Viber
  • Telegram
  • Twilio (messaging service)
  • Amazon Alexa
  • Line
  • Kik
  • GroupMe

Creating bots

Check out the Getting Started guide for information on how to set up a simple bot in minutes and API Documentation for detailed information on the API.

Examples

See the Chat-Bots section of the Claudia.js example projects list

Frequently asked questions

  1. How to run it locally?

    You can't. At least not easy. Claudia Bot Builder doesn't have a stand-alone http server in the background (such as Express, Hapi, etc.), instead it uses API Gateway and it's not trivial to simulate similar environment locally. Deploy it with --version test to create a separate test environment directly in AWS Lambda.

  2. How to test your bot?

    Your chat bot is just a Lambda function, which means it is just a simple JavaScript function and you should be able to, at least in theory, run everything locally as simple automated tests.

    The most important thing is to design testable Lambda functions, this guide will help you to do that.

    Integration tests can be a bit more complex if you have some integrations with external or AWS services. Check this guide to see how to write integration tests and run automated tests locally.

  3. My Facebook messenger bot responds to my messages only. Why it's not responding to everyone?

    Facebook has a review process for chat bots. Make sure your bot is approved.

  4. Can I send Slack slash command delayed responses?

    Yes, here's the tutorial for that.

  5. What's new in v2?

    It's a new major version because of the dependencies - there are big improvements in the Claudia API Builder and Claudia, so Claudia Bot Builder v1.x is not compatible with them.
    V2.x also brings support for many new platforms.

  6. How to speed up the deployment

    You can use claudia update with --cache-api-config flag to cache the API Gateway config, for more info visit docs page for claudia update.

    Also, from version 2.7.0, you can disable platforms that you are not using, check the full explanation in the API docs.

Have a question that is not on this list? Feel free to ask it on Claudia chat on Gitter.

Please, do not use GitHub issues for asking questions or requesting assistance/support, use it only to report bugs.

Contributing

Contributions are greatly appreciated. See the Contributors' guide for information on running and testing code.

What's new since...?

See the Release History

Cool things built with Claudia bot Builder

  • AWS Bot for Slack - A Slack bot to stop and start selected AWS EC2 instances and generally keep an eye on your AWS estate.
  • Comic Book Bot - A simple Viber chatbot for Marvel characters.
  • DotCom Bot - Search & buy domain names and check @usernames fast on Slack & Facebook Messenger!
  • Eksplorer - The Facebook chat bot that will help you discover amazing things in your neighborhood.
  • Fact Bot - The bot will query WikiData for anything you send it and print out the facts.
  • Food Recommendation Bot - Shows you open restaurants around you based on Google Places API.
  • JS Belgrade bot - Simple meetup group Telegram chatbot created during the meetup.
  • LaptopFriendly Bot - Viber bot for LaptopFriendly.co.
  • MrRoadboto - A low-bandwidth and easy to use Facebook chat bot that serves Colorado's Department of Transportation (CDOT) alerts for I70 road-closures affecting major ski resorts. You can read about the motivation here.
  • PingdomBot - A Slack bot to see the status of Pingdom website monitoring.
  • Pokemon Lookup bot - Simple pokemon lookup bot, source code.
  • QRCode Bot - Artistic QR code maker, source code.
  • Quote bot - A very simple bot that will respond with an inspirational quote from the Forismatic API.
  • Robbert - General chatbot.
  • slackslash-radar - A Claudiajs bot which retrieves a Wunderground radar animated gif and posts to Slack.
  • Space Explorer Bot - A simple Messenger chat bot that uses NASA's API to get the data and images about the Space.
  • Space Explorer Bot for Viber - Viber version of Space Explorer Bot.
  • Vacation tracker bot - A simple Slack bot to help you manage your team’s vacations, sick days and days off.
  • MDNBot - A Slack bot that helps developers search MDN directory without leaving Slack channel.
  • Ver.bot - Subscribe GitHub, npm, PyPI projects, and get new version releases notifications!

Building something cool with Claudia Bot Builder? Let us know or send a PR to update this list!

Authors

License

MIT -- see LICENSE