IrssiBot

- the IRC bot -

Contact: matti [.at.] 777-team [.dot.] org

News & version history
8.11.2002 - IrssiBot goes SourceForge
After dozens of requests, I finally managed to get off my butt and set up SourceForge account for IrssiBot. If you are interested in developing the bot, setup an account for yourself and contact me.
25.9.2002 - Finished moving project site
IrssiBot found its new home here at irssibot.777-team.org. documentation.
28.8.2002 - Tinyurlizer in HTMLTools
Introduced tinyurlizer in module HTMLTools. See documentation.
24.6.2002 - 1.0.7 out
Released 1.0.7. See change log.
20.6.2002 - IrssiBot Referenced in Literature
IrssiBot has been used as an example project in O'Reilly's new book Ant: The Definitive Guide.
18.3.2002 - 1.0.6 out
Released 1.0.6. See change log. The release now includes mysql JDBC drivers.
8.1.2002 - release fix
Added missing source files for irssibot.util.log.* and irssibot.protocol.* to the 1.0.5 release packet. Thanks to Jere Sanisalo for pointing out the missing files.
10.12.2001 - server hacked
My machine running this site was hacked using the SSH crc32 exploit. I had to take the pages down and reinstall the system to be sure. Now running RedHat 7.2. Sorry for the 2-day break.
6.12.2001 - 1.0.5 finally out
Features a lot of new features, see changelog. There are many things I did not have time to implement in 1.0.5, so stay tuned for 1.0.6.
30.10.2001 - UML class diagram added
Added UML class diagram to describe the structure of the bot. And yes, I will improve it when I have the motivation. See Documentation.
21.10.2001 - 1.0.5 delayed
The release of 1.0.5 will delayed by a few weeks since I decided to do a theral tune-up to some classes. There will be some repackaging and some minor API changes. The new version will contain a lot of major improvements, so hang in there.
10.4.2001 - 1.0.4 out
Two major fixes here; the IPv6 hostname thing and channel join bug with EFNet.
7.3.2001 - known bug
There is a bug in IrcMessage.java that crashes the main thread if a IPv6 hostname is met. Damn those ':'es ! I'll release a fix soon, hopefully.
21.2.2001 - 1.0.3 out
Apparently the previous release was missing the modules/ directory, which is nowadays the correct location for placing your modules (due to the new class loader). 1.0.3 also has some nifty little speed/reliability improvements.
18.1.2001 - 1.0.2 out
I totally rewrote the module handling code, making the modules run in independent threads. No more lockups due to a infinite loop in a poorly-written module. Also, the modules are now loaded with a custom ClassLoader, allowing their classes to really be unloaded on core->unloadModule(). Many smaller fixes here and there..
15.1.2001 - Website back up
Had my web server down for almost two weeks due to moving to a new apartment. Now it is back up and hopefully will remain that way for a long period of time. Also, I started with a new version including greatly revised module interface so stay tuned.
20.11.2000 - change to the installation packet
Added mysql.jar (MySQL driver java wrapper classes) to installation packet. The classes are needed for Logger module.
14.11.2000 - bugfix; 1.0.1
Found & fixed small but lethal bug in Channel.java: crashed on MODE -l. Thanks Olli Nevalainen! 1.0 link is ln -s'd -> 1.0.1 on downloads sections so just hit '1.0 stable' to get the fixed version.
9.11.2000 - 1.0 released
After stresstesting rc2 for two weeks I am now releasing the 1.0. Many small bugfixes and improvements here, and comfortable stability. Added the logging module (requires MySQL the GPL'd database).
20.10.2000 - 1.0 rc2 released
Wanted to do yet another release before the 1.0. New things feature a logger module that includes logging features for MySQL databases. Mode queueing works now. Also the config format changed as database configuration was added. Backwards compatibility naturally preserved. A bug in topic module has been fixed. 1.0 stable will be out after stress testing of rc2.
16.10.2000 - News from the front
A few simple things and some testing to do before the stable release - here is a small update on things done to the bot since rc1 release. Firstly, forwarding public messages to modules has changed - now all messages get forwarded (disregard if you're not developing a custom module). Secondly, the mode queuing is done and working sweetly. Also, I spent last night with logging, and now there is a smooth logging utility to insert IRC events into a MySQL database. There has been slight changes to the API too.
8.10.2000 - 1.0 rc1 released
Last release before final 1.0 stable, rc1 has been quite well tested and the code partly rewritten and cleaned. ChannelTools -module added with lots of existing and potential features. Decent mode queuing still yet not done, but will be in the stable release.
Introduction
IrssiBot is a powerful IRC automation - a "bot" - that was written for my personal needs & fun in summer/fall 2000. It is written in 100% Java, giving it advantages to traditional platform dependent counterparts in flexibility and ease of development. Main features are:
  • Multinetwork support
  • Configuration data as standard XML
  • Dynamically (un)loadable java .class modules
  • Built-in ability to "connect" channels, even across networks
  • Effectiveness through simplicity; easy to configure and use
  • Platform independent: runs anywhere required Java Environment is installed.
For a feature-rich high-performance native bot written in C, go here.

Downloads
IrssiBot is released under GNU Public Licence (GPL). A newest version of both source and binaries is downloadable, and possibly some older versions also. Required Java Runtime Environment 1.3.1 or newer may be downloaded from Sun Microsystems.

The latest MySQL JDBC driver may be downloaded from here.

Changelog may be viewed here.
ToDo -list may be viewed here.

Full packages : (all files; source + binaries + example config files)
Version 1.0.7 (765kB)
Version 1.0.6 (765kB)
Version 1.0.5 (671kB)
Version 1.0.4 (745kB)
Version 1.0.3 (744kB)
Version 1.0.2 (731kB)
Version 1.0 stable (738kB)
Version 1.0 rc2 (668kB)
Version 1.0 rc1 (643kB)
Version 0.9.6 beta (628kB)
Version 0.95 beta 2 (624kB)

Documentation
For a simple installation & usage guide, go to the documentation page.

The command set provided by modules that ship with IrssiBot can be viewed here.

Developer info
IrssiBot offers a very flexible API to add functionality to the bot; the basic built-in command set covers mainly some adminstrative utilities, and all actual functionality is intended to exist in modules. Also, the bot's sources might be a valuable resource to learn from. For everything to do with IrssiBot development, see the development page.

The complete IrssiBot API can be found here.

Contact info
Bug reports, imprevements and new ideas are encouraged to be emailed to me, as well as any 3rd party modules. I will look into the modules (which must contain full source and conform to GPL) and if I consider the code reliable, useful and unique, I will publish the module on this site on the module's author's approval. All credit, of course, is given to respective authors.When reporting a bug, give a short description of what caused the malfunction, and preferably the log printout.

Matti Dahlbom, the author
irssibot@777-team.org