Conversion of IRC messages into intermediate representation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ircreactor
.gitignore
COPYING
MANIFEST.in
README.rst
example.py
setup.py

README.rst

ircreactor

NOTE: This software is in ALPHA and not yet ready for production. APIs can and likely will change as we develop the library further.

ircreactor is a library for the conversion of IRC messages into intermediate objects. In other words, ircreactor provides the following functionality:

  • Parsing of IRC messages into an intermediate representation
  • Conversion of intermediate representation back into IRC messages
  • Subscription for intermediate representation elements

usage

ircreactor is mainly meant to implement irc clients or irc servers. It handles abstraction of the IRC protocol versions, by providing a clean native object which describes an IRC message. It also provides an event manager for implementation of the mutation-reactor pattern.

A very basic example which ties ircreactor to asyncio.Protocol and dumps IR representation of the IRC messages can be found in example.py.

If you run it, you will see output like:

2014-12-14 11:54:06,447 Using selector: KqueueSelector
Serving on ('127.0.0.1', 6667)
Connection from ('127.0.0.1', 51952)
2014-12-14 11:54:09,705 dispatching: rfc1459 message NICK: {'verb': 'NICK', 'client': <__main__.IRCClient object at 0x106329780>, 'source': None, 'params': ['kaniini'], 'tags': {}}

It will also echo back the message after rebuilding from the intermediate representation.