Awesome
chatbot
An extensible chatbot written in rust.
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.
#[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
.