Boris is the official Imulus Slack bot. He automates crucial business activities such as adding mustaches to pictures, flipping tables over, and loading up Celery Man. He is built on top of Hubot, written in CoffeeScript, backed by node.js, and deployed on Heroku.
With great power comes great responsibility. Boris is a subtle man, let's keep him that way. Use robot.hear
sparingly.
You'll want to take a look at the official Hubot and hubot-scripts repositories to get a sense of how things work. Their documentation is a bit confusing, though, so this document should strive to serve as a good reference for everything Boris specific.
Make sure you have node.js and npm (npm comes with node v0.6.5+) installed.
$ git clone [email protected]:imulus/boris.git && cd boris && npm install
New scripts should be written in CoffeeScript and added to the ./scripts
folder. There is also a collection of community scripts installed via npm called hubot-scripts. If you'd like to include any of these scripts, add them to hubot-scripts.json
and they'll automatically be loaded in.
To test your scripts, run the following:
$ bin/hubot
Then, you can interact with hubot by typing hubot help
Boris lives in a cedar house on Heroku. To deploy, follow these steps:
-
Install the Heroku gem:
$ gem install heroku
-
Setup your Heroku keys:
$ heroku keys:clear && rm ~/.heroku/credentials && heroku list
-
Set Heroku as a remote:
$ git remote add heroku [email protected]:boris.git
-
Push the master branch to Heroku:
$ git push heroku master
Boris can be a fickle man. You'll want to get comfortable with heroku logs
and heroku restart
if you're having issues.