Orakel-IRC-Bot-Referenz

Name

Orakel - Hilfs- und Aufsichtsbot von #html.de

Übersicht
$ gpg -d Orakel.pl.gpg | perl

<memowe>  ?html dd
-Orakel-  definition description - http://www.w3.org/TR/html4/struc [...]

<memowe>  ?css border-collapse
-Orakel-  border-collapse - http://www.w3.org/TR/REC-CSS2/tables.ht [...]

<memowe>  ?valid www.focus.de
<Orakel>  www.focus.de ist ungültig. 1744 Fehler!

<memowe>  ?cregel 8
<Orakel>  Regel 8: Du sollst nicht Away-Skripten nutzen. (http://ww [...]

<memowe>  ?lucky webauthoring frames
<Orakel>  Google-lucky: http://www.memowe.de/Frames-Dialektik/
Beschreibung

Willkommen bei Orakel, dem Hilfs- und Aufsichtsbot des HTML-Hilfe-Kanals #html.de im IRC-Netzwerk Quakenet. Orakel ist ein emsiger und nimmermüder Helfer für alle Mitarbeiter und Kunden in #html.de. Er geht Angestellten bei administrativen Aufgaben und beim Helfen zur Hand und bietet auch für Kunden die vollständige HTML- und CSS-Link-Datenbank, so dass man schnell die Information findet, die man sucht.

Dabei ist Orakel bei weitem noch nicht fertig. Ständig wird nach neuen Features und Implementierungen gesucht, die das Zusammenleben und Helfen in #html.de besser machen. Bitte lesen Sie vor Benutzung von Orakel gründlich die Bedienungshinweise für sicheres und komfortables Arbeiten.

Befehle für alle Nutzer

Diese Befehle lassen sich von allen Nutzern in #html.de ausführen. Dabei ist der Befehl ausschließlich direkt im Kanal anzugeben. Ausnahmen sind angegeben. Um den Verkehr des Bots gering zu halten, bitten wir, nur die Befehle auszuführen, die auch nötig sind.

?help

Liefert den Link zu diesem Web-Dokument.

?html ELEMENT

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die HTML-4.01-Spezifikation des HTML-Elements ELEMENT per Benachrichtigung an den Kunden.

?css EIGENSCHAFT

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die CSS-2-Spezifikation der CSS-Eigenschaft EIGENSCHAFT per Benachrichtigung an den Kunden.

?kontostand

Anforderung für den Kontostand des Kunden. Der Betrag auf dem Kundenkonto wird per Benachrichtigung geschickt.

Befehle für Angestellte (Kanal oder Query)

Folgende Befehle können in einem Query mit Orakel und im Kanal selbst benutzt werden:

?regeln

Veranlasst Orakel, eine kurze Auflistung aller Regeln per Benachrichtung zu schicken. So kann man sich bequem vergewissern, welche Nummer zu welcher Regel gehört, bevor man jemanden auf eine Regel aufmerksam macht.

?k NICKNAME [ GRUND ]

Veranlasst Orakel, den Kunden mit dem Spitznamen NICKNAME aus #html.de zu treten. Da dies auch im Query benutzt werden kann, kann man auf diese Weise anonym Kunden treten und sich so voll in seiner Feigheit entfalten. Kanalpersonal kann nicht getreten werden. Der optionale Parameter ist für den Grund, aus dem der Tritt geschieht und wird beim Fehlen durch eine humorige Bemerkung ersetzt.

?bk NICKNAME [ GRUND ]

Veranlasst Orakel, den Kunden mit dem Spitznamen NICKNAME zu verbannen und anschließend aus dem Kanal zu treten. Der optionale Parameter GRUND ist für den Grund, aus dem der Tritt geschieht und wird beim Fehlen durch eine humorige Bemerkung ersetzt.

?tbk NICKNAME [ ZEIT [ GRUND ] ]

Veranlasst Orakel, den Kunden mit dem Spitznamen NICKNAME zu verbannen, anschließen aus dem Kanal zu treten und nach einer gewissen Zeit den Bann aufzuheben. Der optionale Parameter ZEIT gibt die Zeit des Bannes an und besteht aus maximal drei Dezimalziffern und einem kleinen 'm' (Minuten) oder einem kleinen 's' (Sekunden). Wenn der Parameter fehlt, wird eine Bannzeit von 15 Sekunden angenommen. Der optionale Parameter GRUND gibt den Grund an, aus dem der Tritt geschieht und wird beim Fehlen durch eine humorige Bemerkung ersetzt. GRUND kann nur angegeben werden, wenn auch ZEIT angegeben wurde.

Beispiele:

?tbk foo 3m Nein, Werbung ist immer noch nicht erlaubt
?tbk bar 142s
?tbk baz

Der erste Befehl erteilt dem Kunden mit dem Spitznamen 'foo' eine dreiminütige Auszeit und tritt ihn, weil Werbung immer noch nicht erlaubt sei. Der zweite Befehl erteilt dem Kunden mit dem Spitznamen 'bar' eine 142-sekündige Auszeit und tritt ihn mit einer humorigen Bemerkung. Der dritte Befehl weist Orakel an, den Kunden mit dem Spitznamen 'baz' für 15 Sekunden zu sperren und ihm mit einer humorigen Bemerkung die Tür zu zeigen.

?stats

Zeigt dem Angestellten die Anzahl aller Benutzer, davon anteilig der Superoperatoren, Angestellten und Schuldner.

?konten

Zeigt dem Angestellten die Kontostände aller Kunden von #html.de. Dabei werden nur Konten berücksichtigt, die nicht ausgeglichen sind.

Befehle für Angestellte (nur im Kanal)

?html ELEMENT NICKNAME

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die HTML-4.01-Spezifikation zum HTML-Element ELEMENT per Benachrichtigung an den Kunden mit dem Spitznamen NICKNAME.

?chtml ELEMENT

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die HTML-4.01-Spezifikation zum HTML-Element ELEMENT für alle sichtbar in den Kanal.

?css EIGENSCHAFT NICKNAME

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die CSS-2-Spezifikation zur CSS-Eigenschaft EIGENSCHAFT per Benachrichtigung an den Kunden mit dem Spitznamen NICKNAME.

?ccss EIGENSCHAFT

Schickt eine (ggf. sehr) kurze Beschreibung und einen Link in die CSS-2-Spezifikation zur CSS-Eigenschaft EIGENSCHAFT für alle sichtbar in den Kanal.

?regel NUMMER NICKNAME

Schickt einen kurzen Regeltext zur Regel mit der Nummer NUMMER und einen Link zur #html.de-Regelsammlung per Benachrichtigung an den Kunden mit dem Spitznamen NICKNAME

?cregel NUMMER

Schickt einen kurzen Regeltext zur Regel mit der Nummer NUMMER und einen Link zur #html.de-Regelsammlung für alle sichtbar in den Kanal.

?valid PSEUDOURL

Prüft das Webdokument mit dem URL PSEUDOURL auf Gültigkeit und gibt das Ergebnis dieser Prüfung kurz für alle sichtbar an den Kanal. PSEUDOURL muss dabei mit "http://" oder "www." beginnen. Wenn der URL trotzdem nicht funktioniert, schreibt Orakel eine Fehlermeldung. Da dieser Befehl etwas aufwendiger ist als andere, wird empfohlen, ihn sparsam einzusetzen.

?google SUCHBEGRIFFE

Konstruiert auf simple Weise einen URL für eine Google-Suche nach den übergebenen SUCHBEGRIFFEn und zeigt diesen URL dem ganzen Kanal.

?lucky SUCHBEGRIFFE

Veranlasst eine Google-Suche nach den übergebenen SUCHBEGRIFFEn und zeigt das beste Ergebnis dem ganzen Kanal ("I'm feeling lucky"-Suche). Da dieser Befehl etwas aufwendiger ist als andere, wird empfohlen, ihn sparsam einzusetzen.

?mensa MENSA

Lässt das Orakel die Speisen für den heutigen Tag in der angegebenen Mensa ausgeben. Derzeit gibt es nur Mensen in Münster, und zwar: hueffer (Hüfferstift), mensa2 (Mensa am Ring) und aasee (Mensa 1).

?gcalc AUSDRUCK

Veranlasst eine Google-Auswertung dieses Ausdrucks. Damit kann man Einheiten ineinander überführen, Rechnungen ausführen oder Währungen umrechnen. Näheres bei Google

?berechne NICKNAME BETRAG

Es werden BETRAG Lewonzen vom Kundenkonto des Kunden mit dem Spitznamen NICKNAME abgebucht. BETRAG muss entweder 17 oder 42 sein. Andere Beträge sind steuerrechtlich nicht erlaubt. Im Schuldenfalle wird der Kunde hernach regelmäßig an seinen Kontostand erinnert. Kanalpersonal ist vom Kontoverfahren ausgeschlossen.

?gutschreiben NICKNAME BETRAG

Es werden BETRAG Lewonzen auf das Kundenkonto des Kunden mit dem Spitznamen NICKNAME gutgeschrieben. BETRAG muss entweder 17 oder 42 sein, dadurch zwingen wir unser Kanalpersonal, Linearkombinationen von 17 und 42 zu bilden um ein Konto auszugleichen. Das stärkt den analytischen Geist. Kanalpersonal ist vom Kontoverfahren ausgeschlossen.

Siehe auch

Alle Regeln und Protokolle der Hauptversammlungen von #html.de finden Sie auf der Webpräsenz des Kanals #html.de.

Geschichte

Die erste Version von Orakel war ein einfaches Perl-Skript, das über die XChat-Schnittstelle mit #html.de kommunizierte. Es leistete nicht viel mehr, als alle HTML-Elemente als Links in die Spezifikation bereitzustellen. Weitere Features und die CSS-Eigenschaften wurden, auch mit der tollen Unterstützung einiger #html.de-Mitarbeiter, nach und nach eingebaut.

Da die XChat-Schnittstelle aber wie Net::IRC einigermaßen eingeschränkt ist, wurde Orakel nun (Anfang 2005) von Grund auf neu programmiert. Es ist jetzt ein eigenständiges Perl-Skript, das direkt über Sockets kommuniziert. Dank IO::Poll ist eine einfache Pseudo-Nebenläufigkeit mit Scheduler für zeitgesteuerte Aktionen möglich. Nach und nach werden weitere Features eingebaut.

Autor und Dank

Autor von Orakel war und ist Mirko "memowe" Westermeier. Dank gebührt Julius "Feh" Plenz, der sich um die erste CSS-Datensammlung und die erste ?valid-Implementation verdient gemacht hat, Martin "hounddog" Shwalbe [sic], der sich um einen Account auf einem stabilen Root-Server bemüht hat (und dem wir somit die guten Präsenzen von Orakel verdanken), sowie den zahlreichen freiwilligen Testern in #html.de, die Orakel auch in den Testphasen stunden-, tage-, wochenlang ertragen (haben).

Fehler

In Sachen Stabilität bei Netsplits oder Kills habe ich noch wenig Erfahrungen gemacht. Wenn irgendetwas auffällt, was abnormal aussieht und/oder nicht dem in diesem Dokument spezifizierten Verhalten entspricht, so bitte ich um ausführliche Mitteilung.

Mirko Westermeier (mail@memowe.de)
Februar 2005. Urheberrechtlich geschützt.