Ok last weekend I was bored, a lot bored, and then I decided to write something from scratch.
That’s my hobby, when I’m bored, I need to do something from scratch, even if it’s useless, even if there are better alternatives which works great already.
This time, I wanted to write a bot for IRC. Actually that’s not the first one I write, I wrote a quizzer last year, in C++/QT with PostgreSQL backend.. a bit overengineered, perhaps.
Now, on #gentoo-dev @ freenode we have a lot of bots already, so I’m not making it join that channel, but I wanted something interesting with not just gentoo support.
As I hate perl, and going with another C++ bot wasn’t an option, I relied on Python with pyirclib support (yeah I know it’s a bit deadish).
First, I tried writing a weather bot for my lug’s channel, but then I changed my mind as I wasn’t finding a good place where to find forecasts and observation in a bot-parsable fashion.
Then I started looking for bugzillas support.. I started it as a simple function, but now it’s a module on its own (yes I did it modular at the end) which loads from an XML file with data about different bugzilla sites and then search for bugs in everyone when asked. It was simple as bugzillas have a good XML interface to load the bugs’ data from. The only problem was with OpenOffice’s IssueZilla because it uses different tagnames in the XML data.
After that I added a module to display freshmeat projects’ data, then a gentoo module with a “glsa” command which shows data about the given glsa.
For last, I wrote a freebsd module, that’s why the bot is now in #gentoo-bsd (with name ServoFlame), which shows data about problem reports on FreeBSD database (they aren’t in XML so they are parsed with regexps) and about their security advisories.
Then finally, if you want to mess up with the bot, try it yourself or change it (or also write a new module for it), you can find the sources at https://www.flameeyes.eu/files/flamebot-0.0.tar.bz2 . I’ll put that on my site on https://www.flameeyes.eu/ later today.