Home

Awesome

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

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

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

Authors

License

MIT -- see LICENSE