I've been on Furtopia IRC a lot these last few months, and at some point I decided to script my client to keep track of what was happening while I was out, and so was born the first iteration of "greenbot". Eventually, though, I started using ZNC, and that functionality was no longer relevant to me; however, developing that script had been a lot of fun, so I decided to write a /real/ bot that would make that functionality available to everyone else (or me, if ZNC were disconnected for some reason).
Enter
greenbot 2.0! Greenbot simply records and logs channel messages (currently, the logs are not limited by size, but roll over to the last 150 lines at midnight). So, if you just joined the chat, and you want to see what was happening before you signed on, greenbot can tell you. There are two commands for viewing the chat history: LINK and PLAY
*
LINK (/MSG greenbot LINK #chan): The LINK command will send back an HTTP link where you can view the
complete chat history for that channel. The reason for the link is to avoid flooding you with 500 lines of chat history, which would take
forever to arrive.
* PLAY (/MSG greenbot PLAY #chan): The PLAY command will simply send you the last few lines (by default, ~15-25 lines) of the chat in your IRC window. Unfortunately, UnrealIRCD seems to apply an artificial lag to the playback, so it is rather slow. (I removed this, since it's too slow, and rather unecessary, given LINK.)
To see the rest of the commands, you can use the HELP command. The interface was designed to be familiar (it's similar to the Atheme Services). I also wrote up documentation at
http://lagopus.tamalin.org/greenbot.txt for those interested (though, much of the document is mainly geared toward staff).
Of course, if there are any questions, comments, concerns, or whatnot, post them here, PM me, or find me in #green (the bot's official home). At some point, when I can clean things up, I'd like to share the code.
~Surprisingly, the hardest part of writing this bot was dealing with encoding
. I spent several days searching the code for any lines which weren't explicitly converted to unicode, as the use of nonstandard characters was causing it to die silently.