Norbot: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
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.
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: norbot ==


* '''whois [nick]''': In einem nicht-anonymen MUC verrät dieser Befehl die JID, die sich hinter einem Nick verbirgt.
* '''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.
* '''hit [nick]''': Tut fürchterliche Dinge.
* '''slap [nick]''': Alias für '''hit'''.
* '''status''': gibt den (rohen) Status String vom Spacemaster aus.
* '''status''': gibt den (rohen) Status String vom Spacemaster aus.
* '''die in a fire''': Tötet den Bot. Praktisch, wenn er mal Amok laufen sollte.
== Funktionen: mastermind ==
* '''mastermind''': Startet ein Spiel in einem MUC oder Query.
* '''code [guess]''': Gibt in einem laufenden Spiel einen Tip ab.


Das wars für heute. Mehr wird folgen.
Das wars für heute. Mehr wird folgen.

Version vom 24. Januar 2012, 13:32 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 Spacemaster 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 komfortabel 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: norbot

  • 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.
  • slap [nick]: Alias für hit.
  • status: gibt den (rohen) Status String vom Spacemaster aus.
  • die in a fire: Tötet den Bot. Praktisch, wenn er mal Amok laufen sollte.

Funktionen: mastermind

  • mastermind: Startet ein Spiel in einem MUC oder Query.
  • code [guess]: Gibt in einem laufenden Spiel einen Tip ab.


Das wars für heute. Mehr wird folgen.