This is a version of GitHub's Campfire bot, hubot. He's pretty cool.
You'll probably never have to hack on this repo directly. Instead this repo provides a library that's distributed by npm that you simply require in your project.
Getting Your Own
Download the latest version of hubot.
Then follow the instructions in the README in the
Hubot ships with Campfire and Shell adapters. A number of third-party adapters exist which you can install with npm and then use that with your hubot.
Creating an Adapter
Creating an adapter for hubot is very simple. So simple infact hubot himself has written his own adapters. Adapters in the third-party directory will need to have ownership claimed preferably by the original contributor.
- Start a project for the hubot adapter npm package
- Add your main adapter file as the
NOTE: If you've already released an adapter, remove the hubot dependecy
package.json file as this causes hubot to be installed twice
and causes some issues.
Below is an example of requiring hubot to extend
Adapter and exporting
use function that will be used to load your adapter when used.
You will also have access to a
@robot.logger instance which you can use
for logging. Check out log.js for more
information about the logging library used in hubot.
Robot = require("hubot").robot() Adapter = require("hubot").adapter() class MyAdapter extends Adapter # You'll want to override the various methods see existing adapters # ... exports.use = (robot) -> new MyAdapter robot
Please submit issues and pull requests for third party adapters to the adapter repo not this repo unless it's the Campfire or Shell adapter.
Hubot ships with a number of default scripts, but there's a growing number of
extras in the hubot-scripts
hubot-scripts is a way to share scripts with the entire
Check out the README for more help on installing individual scripts.
Install all of the required dependencies by running
It's easy to test scripts locally with an interactive shell:
% export PATH="node_modules/.bin:$PATH" % bin/hubot
... and to run tests:
% make test