Ik ben al sinds mijn vroege programmeer jaren bezig met IRC Botjes, en dit is mijn laatste creatie.

Was mijn allereerste IRC Bot (zo'n 3 a 4 jaar geleden) 1 enkele class met allemaal functies er in gepropt, en 1 grote functie die alle commands checkte, is het tegenwoordig een mooi programma met GUI en plugins.

We zijn aangekomen bij mijn 4e IRC Bot, en die is geschreven in mijn favoriete programmeertaal, Python! Deze bot heeft momenteel de volgende features:
- GUI en Console Mode
- Multiserver, hij kan dus op meerdere servers tegelijk
- Multichannel
- Mooi plugin systeem
- Plugins zijn makkelijk te maken
- Authenticatie systeem
- Multilanguage (ligt ook aan de plugin zelf)
Momenteel is de bot nog in alpha fase, maar de basis werkt al tamelijk goed.
Wat werkt er- Verbinden met IRC Server(s)
- Plugin systeem
- Authenticatie Systeem
- Console mode
- GUI voor een deel
Wat werkt er nog nietDat zijn vooral de GUI dingetjes:
- 'Add Server' knop in het hoofdscherm, waarmee je naar een server kan verbinden zonder hem in de instellingen op te slaan
- Plugins in/uit schakelen
- Instellingen wijzigen (voorkeuren scherm werkt wel, maar hij slaat nog niks op, en nog niet alles van de voorkeuren is af)
Ook lever ik standaard wat plugins mee:
- Authenticatie plugin (in en uitloggen op je bot)
- Plugin managment (Plugins in- of uitschakelen, plugins herladen)
- Bot informatie (Credits, lijst met ingeschakelde plugins, plugin informatie en commando's)
- Bot acties (Join/part een kanaal, verander nickname, nog wat andere acties)
- Last.FM Plugin (Laat huidig liedje zien, of de top tracks/artiesten/weekelijke top tracks)
- RSS Reader Plugin (Lees een gegeven rss feed uit, sla bepaalde 'feed presets' op, en roep ze makkelijk weer op)
- TV Gids Plugin (Wat is er nu op TV, wat komt er zometeen, en welke films komen er vandaag?)
- Radio Plugin (wat draait er nu op de radio, momenteel ondersteunt: 538, Slamfm, 3fm)
- Systeem informatie plugin (Geeft wat systeem informatie)
Plugins die ik op de planning heb staan:
- Van dale woordenboek
- Statistieken plugin
- Weer plugin
- Slap plugin
- Google Define: ripper
- etc..
Screenshotje kan natuurlijk niet ontbreken:

Ik weet dat hier veel mensen Qt fan zijn, en ik moet zeggen, ik denk dat ik ook ga overstappen, maar momenteel heeft een Qt GUI geen prioriteit

Al is dat goed mogelijk door gewoon een extra view class te maken

Voor dit project ben ik heel wat gratis project hosting sites afgegaan, eerst Google Code, toen launchpad, toen github, maar nu toch weer terug bij Google code, dus vandaar de zeer korte revisie geschiedenis

Google code pagina:
http://luckybot.googlecode.comOnder downloads vind je de eerste alpha release. Om deze te draaien heb je python-gobject nodig voor console, en python-gtk voor de GUI. Onder 'Source' kan je natuurlijk de code bekijken (als je geen zin hebt om iets te downloaden).
Mocht je zelf een plugin willen maken, heb ik de API documentatie hier online gezet:
http://www.return1.net/docs/luckybotJe kan plugins kwijt in de plugins/ map van luckybot zelf, of in ~/.luckybot/plugins
Ook raad ik het je aan, om data/settings.ini te kopiëren, en te plakken naar ~/.luckybot/settings.ini en in dat bestand je wijzigingen te doen.
Tell me what you think!
