Norbot: Unterschied zwischen den Versionen
Zeile 3: | Zeile 3: | ||
== Technik == | == Technik == | ||
Der spacemaster7000 ist in Perl geschrieben, Norbot wird | Der spacemaster7000 ist in Perl geschrieben und arbeitet sehr direkt mit dem XMPP Protokoll. Er lauscht auf Nachrichten, sucht nach Befehlen und antwortet dann direkt mit einer eigenen Nachricht. Ein Thread fragt alle N Sekunden den Spachemaster ab und ändert das Topic im MUC Raum entsprechend. | ||
Norbot wird auf Python und xmmpy aufbauen und aus zwei Komponenten bestehen: | |||
Der Core-Bot übernimmt die XMPP spezifische Buchführung (welcher Nick ist mit welchen Rechten in welchem Raum, wer ist gerade mit welchem Status online, welche JID gehören zu welchem MUC Nick (in nicht-anonymen MUCs) u.s.w.) und abstrahiert das Protokoll weit genug, um konfortabel damit arbeiten zu können. | |||
Module können zur Laufzeit geladen, entfernt oder aktualisiert werden und implementieren die eigentliche Funktionalität, indem sie auf Events reagieren, die vom Bot ausgelöst werden. Das kann synchron oder in einem separaten Thread geschehen. | |||
== Funktionen == | == Funktionen == |
Version vom 24. Januar 2012, 13:29 Uhr
Norbot ist ein neuer XMPP/Jabber Bot für den offiziellen cccgoe MUC. Er soll auf kurz oder lang spacemaster7000 (den Bot, nicht die Hardware) ersetzen und einiges mehr können.
Technik
Der spacemaster7000 ist in Perl geschrieben und arbeitet sehr direkt mit dem XMPP Protokoll. Er lauscht auf Nachrichten, sucht nach Befehlen und antwortet dann direkt mit einer eigenen Nachricht. Ein Thread fragt alle N Sekunden den Spachemaster ab und ändert das Topic im MUC Raum entsprechend.
Norbot wird auf Python und xmmpy aufbauen und aus zwei Komponenten bestehen:
Der Core-Bot übernimmt die XMPP spezifische Buchführung (welcher Nick ist mit welchen Rechten in welchem Raum, wer ist gerade mit welchem Status online, welche JID gehören zu welchem MUC Nick (in nicht-anonymen MUCs) u.s.w.) und abstrahiert das Protokoll weit genug, um konfortabel damit arbeiten zu können.
Module können zur Laufzeit geladen, entfernt oder aktualisiert werden und implementieren die eigentliche Funktionalität, indem sie auf Events reagieren, die vom Bot ausgelöst werden. Das kann synchron oder in einem separaten Thread geschehen.
Funktionen
- whois [nick]: In einem nicht-anonymen MUC verrät dieser Befehl die JID, die sich hinter einem Nick verbirgt.
- hit [nick]: Tut fürchterliche Dinge mit jemandem im Chat.
- status: gibt den (rohen) Status String vom Spacemaster aus.
Das wars für heute. Mehr wird folgen.