A simple IRC bot that responds to commands. Inspired by Hubot. Implemented in Python.
Why not just use Hubot instead of writing a bot from scratch? It's because Hubot is implemented in CoffeeScript and runs on node.js. The IRC adapter for hubot is utterly broken and as we know, node.js is cancer.
$ virtualenv env --no-site-packages $ source env/bin/activate $ pip install -r requirements.txt $ export SIFTER=yourapikey $ export SNIPT_API_USER=sniptusername $ export SNIPT_API_KEY=sniptapikey
To have Nigel join the
$ python nigel.py room
$ export ROOM=room $ python nigel.py
You can ignore all messages from a certain user by adding this environment variable:
$ export IGNORED="user1,user2"
This is useful if you don't care about what your build server says in the channel.
People often say things like
all: brb, back in 20min and then when they
come back they're like
all: back. This matcher will track how long the
user has been gone and tell them if they overshot their estimate.
You can ask Nigel if Arthur's ISP is blocking Google+ today. It will respond to "is g+ blocked at arthur's house today?".
It will scan the room for mentions of Sifter issue numbers and reply with the
issues's title and URL. Prefix numbers with
It will respond to "make me a sandwich" and "sudo make me a sandwich".
When someone greets the room with "all: hello" and the like, nigel will respond.
It will scan for .gif, .png, and .jpg images and add them to Snipt.net. It will also respond to "<botname>: show me the gif" with random links to saved images.
Deploying to Heroku
$ git clone git://github.com/honza/nigel.git $ cd nigel $ heroku create --stack cedar $ heroku config:add ROOM=room SIFTER=yourapikey SNIPT_API_USER=sniptuser SNIPT_API_KEY=sniptapikey $ git push heroku master $ heroku scale nigel=1
Mr. cz is responsible for the awesome name of this bot.
BSD, short and sweet