chatbot 0.2.3

An extensible chatbot
chatbot
=======

An extensible chatbot written in rust.

[![Circle CI](https://circleci.com/gh/jwilm/chatbot.svg?style=svg)](https://circleci.com/gh/jwilm/chatbot)

## About

The construction is inspired by Hubot's extensibility. There is an ever-growing
list of [service adapters][] and [message handlers][] as part of the project.

To get started, you might make a `main` function that looks like the following.
Once you get that running, check out the [documentation][] to add more packaged
[message handlers][] or write your own.

```rust
#[macro_use(handler)]
extern crate chatbot;

use chatbot::Chatbot;
use chatbot::adapter::CliAdapter;

fn main() {
    let mut bot = Chatbot::new("chatbot_name");

    let echo = handler!("EchoHandler", r"echo .+", |_, msg| {
        Some(msg.to_owned())
    });

    bot.add_handler(echo);
    bot.add_adapter(CliAdapter::new());

    bot.run();
}
```

## Plans

Check out the [issue tracker][] for an up-to-date list of plans for the chat
bot.

## Contributing

Contributions are very welcome on this project. To get started, fork the repo
and clone it locally. You should be able to just do `cargo run` and get a
working ping and github handler on the command line. If you want to run the test
program using the Slack adapter, do `cargo run -- --adapter slack`.

[service adapters]: http://chatbot.rs/chatbot/adapter/trait.ChatAdapter.html#implementors
[message handlers]: http://chatbot.rs/chatbot/handler/trait.MessageHandler.html#implementors
[documentation]: http://chatbot.rs/chatbot/
[issue tracker]: https://github.com/jwilm/chatbot/issues
[mio]: https://github.com/carllerche/mio