Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/honza/nigel
A simple IRC bot that responds to commands. Inspired by Hubot. Implemented in Python.
https://github.com/honza/nigel
Last synced: about 5 hours ago
JSON representation
A simple IRC bot that responds to commands. Inspired by Hubot. Implemented in Python.
- Host: GitHub
- URL: https://github.com/honza/nigel
- Owner: honza
- License: bsd-2-clause
- Created: 2012-07-18T13:35:30.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-03-20T10:54:52.000Z (over 11 years ago)
- Last Synced: 2024-04-16T03:02:00.217Z (7 months ago)
- Language: Python
- Homepage:
- Size: 243 KB
- Stars: 15
- Watchers: 6
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
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=sniptapikeyRunning
-------To have Nigel join the ``#room``:
::
$ python nigel.py room
Or,
::
$ export ROOM=room
$ python nigel.pyYou 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 ": 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=1Credit
------Mr. `cz `_ is responsible for the awesome name of this
bot.License
-------BSD, short and sweet