Mitch Souders
This project is a simple IRC server and client combination that is similar to the existing RFC1459. The primary differences are the absence of federated connections between IRC servers and the usage of JSON in the basic IRC communication protocol. For more details about the underlying protocol, see the (unformatted) RFC.
If you are on Ubuntu you may need to install python-numpy
via apt-get
, since it requires other system packages to be installed.
pip install numpy # Optional: Only needed for math_bot
python setup.py develop --user
To generate the fully formatted text RFC:
gem install kramdown-rfc2629 --user
sudo apt-get install xml2rfc -y
cd rfc && make
- irc_server
The server process that provides a platform that can be connected to by multiple IRC clients. - irc_client
Note: The client has the entrypoint: src/IRC/Client.py:main and not a specific script. This allows easy use of the client for creation of bots.
The client process that gives an easy to use interface to chat with other users on the same server. The client can be invoked with--gui
for an ncurses interface. For a list of full commands in the IRC client type/help
. - irc_bot
Effectively a spam bot. This invokes 100 randomly generated commands to test the coverage of a client and server pair. - math_bot
A basic bot that responds to simple math equations when messaged directly atmathbot
or any messages sent to#math
.
The code coverage stats could be higher if there was an easy way to automatically run the ncurses GUI as that is the primary cause of the lower coverage results.