WMBot is a base that connects to the IRC server and responds to PING messages, and a module system. The module system allows modules to be enabled and disabled at runtime as long as the module is loaded in the running lisp. Currently implemented example modules include a basic logging module, basic user management, a command module, and a simple info module built using the command module. WMBot was written using WMIrc as the protocol parsing library.
WMIrc is an independently loadable IRC protocol parser. The parser produces CLOS classes of specific types based on the message received. For instance, parsing a PRIVMSG line results in an instance of msg-privmsg, while parsing a PRIVMSG line that has an embedded CTCP PING results in an instance of ctcp-request-ping (which is a subclass of msg-ctcp-privmsg, which is itself a subclass of msg-privmsg). The entire protocol should currently be supported with specific subclass types for each IRC message in the relevant RFCs. If you find a message that is not supported, please let me know.
WMBot and WMIrc both have ASDF system definitions. Please note that the currently available file releases are extremely old and outdated. Use the following Subversion command to obtain the latest WMBot and WMIrc:
svn co https://wmbot.svn.sourceforge.net/svnroot/wmbot/trunk wmbot