Python IRC library (AKA python-irclib AKA irclib.py)
Please see the
Project pages
(where you can
download
the library) for information about the project. Get the latest release HERE.
This library is intended to encapsulate the IRC protocol at a
quite low level. It provides an event-driven IRC client
framework. It has a fairly thorough support for the basic IRC
protocol, CTCP and DCC connections.
In order to understand how to make an IRC client, I'm afraid you
more or less must understand the IRC specifications. They are
available here:
http://www.irchelp.org/irchelp/rfc/
Requirements:
Installation:
- Run "python setup.py install" or copy irclib.py and/or
ircbot.py to an appropriate Python module directory.
The main features of the IRC client framework are:
- Abstraction of the IRC protocol.
- Handles multiple simultaneous IRC server connections.
- Handles server PONGing transparently.
- Messages to the IRC server are done by calling methods on an IRC
connection object.
- Messages from an IRC server triggers events, which can be caught
by event handlers.
- Reading from and writing to IRC server sockets are normally done
by an internal select() loop, but the select()ing may be done by an
external main loop.
- Functions can be registered to execute at specified times by the
event-loop.
- Decodes CTCP tagging correctly (hopefully); I haven't seen any
other IRC client implementation that handles the CTCP specification
subtilties.
- A kind of simple, single-server, object-oriented IRC client class
that dispatches events to instance methods is included.
- DCC connection support.
Current limitations:
- The IRC protocol shines through the abstraction a bit too much.
- Data is not written asynchronously to the server (and DCC
peers), i.e. the write() may block if the TCP buffers are
stuffed.
- Like most projects, documentation is lacking...
Enjoy.
Current Maintainer:
keltus <keltus@users.sourceforge.net>
Original Founder:
Joel Rosdahl <joel@rosdahl.net>
katie's credit card blog