Giter Club home page Giter Club logo

claudia-bot-builder's Introduction

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.
  • 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.

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

Authors

License

MIT -- see LICENSE

claudia-bot-builder's People

Contributors

alejandrogr avatar animsaj avatar datrio avatar gojko avatar guillemsalas avatar hnoesekabel avatar ivanjov avatar jmosbech avatar jonjamz avatar jonymusky avatar jveres avatar marcusoftnet avatar mohitdhanjani avatar n7best avatar nbransby avatar philnash avatar rping avatar sagech avatar samcorcos avatar simalexan avatar stanwilsonjr avatar stojanovic avatar yipcma avatar zippeurfou avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.