Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A simple IRC bot that responds to commands. Inspired by Hubot. Implemented in Python.
Python Clojure
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
clojure
matchers
.gitignore
LICENSE
Procfile
README.rst
nigel.py
requirements.txt

README.rst

Nigelbot

A simple IRC bot that responds to commands. Inspired by Hubot. Implemented in Python.

Motivation

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.

Installation

$ 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

Running

To have Nigel join the #room:

$ python nigel.py room

Or,

$ 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.

Available matchers

brb

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.

arthur's g+

You can ask Nigel if Arthur's ISP is blocking Google+ today. It will respond to "is g+ blocked at arthur's house today?".

sifter

It will scan the room for mentions of Sifter issue numbers and reply with the issues's title and URL. Prefix numbers with #.

sandwich

It will respond to "make me a sandwich" and "sudo make me a sandwich".

greeter

When someone greets the room with "all: hello" and the like, nigel will respond.

gifter

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

Credit

Mr. cz is responsible for the awesome name of this bot.

License

BSD, short and sweet

Something went wrong with that request. Please try again.