Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: f8948f3553
Fetching contributors…

Cannot retrieve contributors at this time

82 lines (53 sloc) 2.64 KB


This is a version of Gitvhsb's Campfire bot, vhsbot. 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. Follow the instructions below and get your own vhsbot ready to deploy.

Getting your own

Make sure you have node.js and npm (npm comes with node v0.6.5+) installed.

Download the latest version of vhsbot.

Then follow the instructions in the README in the extracted vhsbot directory.


Adapters are the interface to the service you want your vhsbot to run on. This can be something like Campfire or IRC. There are a number of third party adapters that the community have contributed. Check the vhsbot wiki for the available ones and how to create your own.

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.


vhsbot ships with a number of default scripts, but there's a growing number of extras in the vhsbot-scripts repository. vhsbot-scripts is a way to share scripts with the entire community.

Check out the README for more help on installing individual scripts.

HTTP Listener

vhsbot has a HTTP listener which listens on the port specified by the PORT environment variable.

You can specify routes to listen on in your scripts by using the router property on robot.

module.exports = (robot) ->
  robot.router.get "/vhsbot/version", (req, res) ->
    res.end robot.version

There are functions for GET, POST, PUT and DELETE, which all take a route and callback function that accepts a request and a response.

Testing vhsbot locally

Install all of the required dependencies by running npm install.

It's easy to test scripts locally with an interactive shell:

% export PATH="node_modules/.bin:$PATH"
% bin/vhsbot

... and to run unit tests:

% make test
Jump to Line
Something went wrong with that request. Please try again.