iBot 0.3 - eine Vorschau

15. September 2007

Die Entwicklung des Bots kommt im Moment wegen Zeitmangel recht schleppend voran, trotzdem hab ich mir einige Ziele gesetzt.

Das Plugin-System wird weiter ausgebaut, zu dem aktuellen internen Handler onjoin, der wegen der Unzuverlässigkeit von Net_Smartirc eingeführt wurde gesellen sich auch Handler für Part, Kick, Disconnect und Nickchange (Wunsch von feuerfuchs).

Des weiteren ist ein Update-System geplant, sodass der Bot automatisch Plugins von einer zentralen Stelle auf Aktualität prüfen und gegebenfalls aktualisieren kann. Dazu werd ich einen Online-Plugin-Katalog einrichten in dem Autoren ihre selbst erstellenten Plugins hochladen und so einfach verteilen können. Möglicherweise wird der Download direkt aus dem Bot heraus möglich sein, das ist aber noch alles Zukunftsmusik. ;)

Um auch außerhalb der deutschen Channels einen Fuß setzen zu können wird sämtlicher hard-coded Text in Sprachvariablen übergeführt.

Eine Sache ist im Moment noch unpraktisch: Die Einstellungen gelten für alle Channels, manchmal kann dies aber auch unpraktisch sein, wenn z.B. User A in Channel B Op-Rechte bekommen soll, aber nicht in Channel X. Daher werde ich die Einstellungen und Plugins so umschreiben, dass sie die Einstellungen für jeden Raum getrennt beachten.

Falls jemand sich an dem Projekt beteiligen möchte ist er herzlichst dazu eingeladen, egal ob für den Kern, Plugins oder Übersetzung. Ich bin gerade dabei nen SVN-Server zu organisieren, vllt. zieh ich zu Sourceforge :)

Der aktuelle Changelog:

[Core]
- Autoloading für Klassen im Ordner /lib/ ist aktiviert
- Globale Registry in der Variable ircbot::$registry, in der Plugins Daten ablegen können sollen, die nicht bei einem Reload verloren gehen sollen

[PluginController]
- Zum Neustarten sollte ab sofort ReloadPlugin($name, $from = ‘Core’, $forced = false) verwendet werden, da dieser auch die Registry von Plugins löschen kann
- Loadplugin() gibt nun verschiedene Fehlermeldungen zurück, wenn keine Fehler aufgetreten sind ein ‘ok’
- Prüfung ob nach dem ClassBuilding die Klasse wirklich existiert oder ob es Fehler gab um Abstürze des Bots zu verhindern
- Es wird nun geprüft ob eine Klasse bereits erstellt wurde beim Reload. Falls ja, wird der Name der alten Klasse zurück gegeben statt eine neue zu definieren (spart Arbeitsspeicher)

[Plugin:Reloadplugin]
- Neuer optionaler Parameter: forced (Wenn gegeben wird die Registry des neu zu startenden Plugins auch gelöscht)
- Bei Fehlern wird die Fehlerursache genannt die der PluginController zurück gegeben hat

[Plugin:Exitbot]
- Arbeitet nun richtig (Nicht-existente Settings-Variable angesprochen)

[Plugin:Say]
- Neue Plugin um den Bot anzuweisen, etwas in einem Channel zu sagen (Aufrufer muss Controluser sein)
- Aufruf (Query): !say #channel Nachricht

[Plugin:Countdown]
- Neues Plugin um Countdowns zu definieren. Der Aufrufer wird informiert, wenn der Coutdown abgelaufen ist
- Aufruf (Channel): !countdown hh:mm:ss (Optionale Beschreibung)

[Plugin:Sysinfo]
- Neues Plugin um Informationen über die Umgebung anzuzeigen, wird später noch um Dinge wie Statistiken erweitert
- Aufruf (Channel): !sysinfo

¬ geschrieben von Michael in iBot

« Zahl des Tages

Go PHP5! » 

3 Kommentare zu 'iBot 0.3 - eine Vorschau'

  1. BadBoy_ sagte am 15. September 2007 um 23:16 Uhr:

    rofl sehr cool

    jo, mein bot könnte solangsam auch ma nen update vertragen
    aber das plugin system wollte gestern nacht net so wie ich

    werde ma schaun ob ich heute noch weiterarbeiten kann

  2. Michael sagte am 16. September 2007 um 00:05 Uhr:

    Ich denke dass ich Teile ein bisschen früher veröffentliche, vor allem wegen den Bugs (Plugin:ExitBot ist in ibot 0.2 z.B. funktionslos).

  3. XeDos sagte am 25. November 2007 um 20:24 Uhr:

    Ich würde mich liebend gerne iwie beteiligen bloß kann ich einfach zu wenig

Hinterlasse einen Kommentar

Theme von BenediktRB • Powered by Wordpress • Abonniere den RSS Feed