Dokumentation

Der wkQuoteBot ist ein weiterer Bot, der Zitate in den Chat sendet und User begrüßt.
Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Dokumentation

Ungelesener Beitrag von Linus » 23.04.2011, 11:06

Achtung: Sämtliche Befehle beginnen hier mit einem Ausrufezeichen! Dies kann auf der Einstellungsseite geändert werden, bitte bedenkt dies, wenn ihr Befehle von hier zum ausprobieren kopiert ;)

Dies ist die offizielle Dokumentation für den wkQuoteBot (im Folgenden wkQB).

Inhalt:
  1. Was ist der wkQB?
  2. Was kann der wkQB? (Unterpunkte: Rechte, Befehle)
  3. Spielanleitungen
  4. Nutzung der Umfragen
  5. Zeitgesteuerte Aktionen
  6. Vorteile und Nachteile gegenüber anderen Bots
  7. Woher bekomme ich den wkQB?
  8. Nachwort
1. Was ist der wkQB?
Der wkQB ist ein Bot für den Webkicks-Chat, der in Perl und PHP geschrieben wurde. Er wurde auf der Basis eines Chat-Bots entwickelt, der von Wolfspirit geschrieben wurde, dem ich hiermit einen besondern Dank aussprechen möchte :) Der Bot ist komplett serverbasiert, d.h. erfordert keinerlei Software auf eurem PC (außer natürlich einem Webbrowser ;)). Die Konfiguration erfolgt über eine Weboberfläche und über Befehle im Chat. Der Bot ist selbstverständlich kostenlos und für jeden Chat nutzbar!

2. Was kann der wkQB?
Der wkQB verfügt in der aktuellen Version unter anderem über folgende Features:
  • Zitate zu frei bestimmbaren Zeiten senden (Mit beliebigem Präfix (Text, der vor jedes Zitat gestellt wird) und Suffix (Text, der nach jedes Zitat gestellt wird). Dieses kann die Nummer des gesendeten Zitats sowie die Gesamtzahl der Zitate beinhalten)
  • User beim einloggen begrüßen (Für jeden User kann auch eine besondere Begrüßung eingestellt werden, falls gewünscht)
  • Mehrere Spiele, darunter einzigartige wie "Zeitbombe" und "Heiße Kartoffel"
  • Automatischer Neustart bei Problemen sowohl auf meiner als auch auf Webkicks Seite
  • Ein Rechtesystem
  • Eigene Befehle mit vielen Variablen (JS-Tauglich, will ich meinen)
  • Künstliche Intelligenz mit Möglichkeit der Nutzung regulärer Ausdrücke (Badwordsystem/Linkerkennung können so realisiert werden)
  • Umfragen
  • Zeitgesteuerte Aktionen (mit crontab-Syntax für die, die wissen was sie da tun)
  • Multi-User-System (andere Leute können euren Bot bei Kenntnis der Bot-Daten auch einstellen, und ihr könnt mit einem Account direkt mehrere Bots verwalten)
2.1. Rechte
Das Rechtesystem basiert auf den Chat-Leveln Hauptadmin, Admin, Mod und zusätzlich Ignorierte. Diese können den Bot mit Chatbefehlen konfigurieren, dabei gilt:

1. Ignorierte werden ignoriert (Sie werden auch nicht begrüßt! Ziel von Befehlen können sie aber dennoch sein.)
2. Mods können User ignorieren lassen
3. Admins können zusätzlich Mods ernennen
4. Der Bot-Hauptadmin kann zusätzlich Admins ernennen

Bis auf den Bot-Hauptadmin werden alle Level durch Chat-Befehle vergeben, Wer Bot-Hauptadmin ist, bestimmt ihr auf der Einstellungsseite unter "Master-Einstellungen".

Wichtig: Jeder User kann nur eins zur gleichen Zeit sein!!

Zudem machen sich die jeweiligen Rechte in den Befehlen bemerkbar.

2.2. Befehle

Von jedem nutzbar:
!ping -> Rückgabe: Pong!

!master -> Der Bot sagt dir, wer der Bot-Hauptadmin ist
!admins -> Der Bot sagt dir, wer alles Bot-Admin ist
!mods -> Der Bot sagt dir, wer alles Bot-Mod ist
!ignored -> Der Bot sagt dir, wen er alles ignoriert

!zitat [NR] -> Wird für [NR] eine Zahl eingesetzt, gibt der Bot dieses Zitat zurück, ansonsten ein zufälliges
!suche [TEXT] -> Gibt ein zufälliges Zitat aus, in dessen Inhalt [TEXT] vorkommt

!zeitbombe -> Der Absendende bekommt eine Zeitbombe
!schneide [FARBE] -> Das entsprechende Kabel wird zerschnitten
!cheat -> Selbsterklärend ;) Funktioniert nur, wenn man selbst eine Bombe hat. Kann auch geflüstert werden!

!kartoffel -> Ist bereits ein Spiel gestartet, nimmt man hiermit daran teil, ansonsten startet man ein neues Spiel!
!wurf -> Wirft die Kartoffel weiter

!hangman -> Startet ein Hangman-Spiel, sollte noch keins laufen, ansonsten müsst ihr mit !hangman BUCHSTABE oder !hangman LÖSUNG spielen ;)

!wordmix -> Startet ein Wordmix-Spiel. Sollte bereits eins laufen, müsst ihr mit !wordmix LÖSUNG lösen.

!mypoints -> Der Bot flüstert euch die Anzahl eurer Punkte
!toplist [ANZAHL]-> Der Bot gibt die Liste der User nach ihren erhaltenen Punkten sortiert aus. Falls ANZAHL mit übergeben wird werden nur die ersten ANZAHL Plätze ausgegeben. Falls keine Topliste erscheint ist die Gesamtliste zu lang für den Chat.

!umfrage [UMFRAGEN-ID] -> Ist UMFRAGEN-ID nicht angegeben, wird eine Liste aller Umfragen ausgegeben, ansonsten die Optionen von der Umfrage mit der jeweiligen ID.
!vote [UMFRAGEN-ID] [OPTIONS-ID] -> Stimmt in der Umfrage mit der entsprechenden Umfragen-ID für die Option mit der jeweiligen Options-ID. Beide werden vom !umfrage-Befehl ausgegeben.
!votes [UMFRAGEN-ID] -> Zeigt die Ergebnisse der Umfrage mit der entsprechenden ID an.

!quiz [ID] -> Wenn keine ID übergeben wird, wird eine Liste aller Quizze angezeigt. Anderenfalls wird das Quiz mit der ID gestartet.

Ab Bot-Mod aufwärts nutzbar:
!ignore [USER] -> [USER] wird fortan ignoriert
!unignore [USER] -> [USER] wird nicht mehr ignoriert
!reload -> Begrüßungs- und WB-Texte, der Logintext, Bot-Master, Bot-Admins, Bot-Mods, Ignorierte, das Befehlszeichen, die eigenen Befehle sowie die Zitate samt Prä- und Suffix werden neu eingelesen.
!pointson -> Aktiviert das Punktesystem
!pointsoff -> Deaktiviert das Punktesystem

Ab Bot-Admin aufwärts nutzbar:
!zeitbombe [USER] -> [USER] bekommt eine Zeitbombe zugeschoben
!addmod [USER] -> [USER] wird zum Bot-Mod
!delmod [USER] -> [USER] ist kein Bot-Mod mehr
!say [TEXT] -> Der Bot sagt [TEXT]. HTML funktioniert hier NICHT! Dieses Kommando kann auch geflüstert werden.
!bid -> Muss geflüstert werden. Der Bot gibt seine ID zurück
!modifypoints [USER] [PUNKTE] -> Das Punktekonto des Users wird, bei einem positiven Punkte-Parameter, um diese Anzahl erhöht, bei einem negativen Wert hingegen damit belastet. Groß- und Kleinschreibung ist beim Usernamen wichtig!

Der Bot-Hauptadmin kann auch folgendes nutzen:
!addadmin [USER] -> [USER] ist nun Bot-Admin
!deladmin [USER] -> [USER] ist kein Bot-Admin mehr
!resetpoints -> Annuliert alle Punkte

3. Spielanleitungen

Achtung: Die entsprechenden Punktzahlen bekommt ihr natürlich nur, wenn das Punktesystem aktiviert ist!

Zeitbombe
Das Spiel Zeitbombe funktioniert folgendermaßen: Ein User sendet "!zeitbombe" in den Chat, und kriegt daraufhin eine Bombe zugeschoben. Diese muss er nun entschärfen, und zwar innerhalb der vom Bot genannten Zeit, indem er mit "!schneide FARBE" eines der 3 angegeben Kabel zerschneidet. Beispiel:
(17:36) wsBot schiebt Linus eine Bombe zu. Die Anzeige zeigt [47] Sekunden.
(17:36) wsBot» Entschärfe die Bombe mit '!schneide farbe'. Die Bombe besteht aus folgenden Kabeln: Antikweiß, grau-braun-gepunktet, grün-gelb-gepunktet
(17:37) Linus» !schneide Antikweiß
(17:37) wsBot» Gratulation! Linus hat die Bombe erfolgreich entschärft.
Um Spam zu vermeiden, kann dieses Spiel nur alle 60 Sekunden gestartet werden. Bot-Mods und aufwärts werden von dieser Sperre nicht beeinflusst, Admins und Master können außerdem anderen Usern eine Bombe zuschieben.

Ein Sieg in diesem spiel bringt 5 Punkte auf euer Konto ;)

Heiße Kartoffel
Um Heiße Kartoffel zu spielen, sind mindestens 3 Spieler erforderlich. Ein Spiel wird gestartet, indem ein User !kartoffel absendet. Wer mitspielen will, sendet nun ebenfalls !kartoffel ab, dazu hat man 60 Sekunden Zeit. Nach Ablauf dieser Zeit wirft der Bot einem Mitspieler zufällig eine heiße Kartoffel zu. Der jeweilige Spieler muss nun innerhalb von 10 Sekunden !wurf absenden, um die Kartoffel an den Bot zurückzuwerfen, der sie wiederum weiter wirft. Es kann also vorkommen, das man selbst mehrmals hintereinander dran ist ;-) Folgende Ereignisse können auftreten:
- Ein Spieler wirft die Kartoffel zu spät. Dann scheidet er aus dem Spiel aus und die verbliebenen Spieler machen weiter wie bisher
- Es bleibt nur ein Spieler übrig. Dieser hat dann gewonnen
- Die Kartoffel wird kalt. Nach 10 bis 20 Würfen ist die Kartoffel kalt und das Spiel endet, die verbliebenen Spieler haben dann gewonnen

Gewinnt ihr allein, bekommt ihr 5 Punkte gutgeschrieben; gewinnt ihr mit mehreren Spielern, sind es 3 Punkte pro Spieler ;)

Hangman
Das Hangman-Prinzip ist sicher jedem bekannt, daher spare ich mir Erklärungen zum Spielprinzip und erkläre nur den Chat-Ablauf!
- Ein Spieler sendet !hangman in den Chat, daraufhin wählt der Bot eins der Wörter, die unter "Spiel-Einstellungen" hinterlegt wurden, zufällig aus.
- Nun kann jeder Chatter per "!hangman BUCHSTABE" einen Buchstaben raten oder per "!hangman LÖSUNG" einen Lösungsvorschlag abgeben.
- Gehen wir von einem Buchstaben aus: Wenn der Buchstabe im Wort vorkommt, wird jeder _, der diesen Buchstaben repräsentiert, aufgedeckt; Kommt er nicht vor, wird ein Fehlversuch angerechnet.
- Wenn ein Spieler die richtige Lösung per !hangman LÖSUNG absendet, endet das Spiel. Ist die Lösung falsch, werden 3 Fehlversuche angerechnet ;-)
- Werden 10 Fehlversuche erreicht oder wird die Lösung nur durchs aufdecken einzelner Buchstaben erraten, endet das Spiel.
- Wird 60 Sekunden keine Hangman-Aktion getätigt, endet das Spiel!

Erratet ihr einen Buchstaben, bekommt ihr einen Punkt; Wenn ihr das Lösungswort findet, erhaltet ihr die Anzahl der verbleibenden Fehlversuche als Punkte gutgeschrieben :)

Wordmix
Das Ziel von Wordmix ist, einen Buchstabensalat wieder in das Ursprungswort zu verwandeln. Die möglichen Wörter gebt ihr einfach auf http://wkqb.de ein, wobei zu beachten ist, dass nur die 26 Buchstaben erlaubt sind sowie die Mindestlänge der Worte 6 Zeichen sind. Worte, die diese Kriterien nicht erfüllen, werden automatisch entfernt, ihr könnt also bspw. eure Hangman-Wörter einfach kopieren, die unpassenden fliegen automatisch raus Im Chat wird das Wort komplett in Klein-Buchstaben ausgegeben, um die Schwierigkeit zu erhöhen. Da dieses Spiel teilweise extrem schwer ist, bekommt ihr 5 Minuten Zeit für ein Wort!

Stellt ihr ein, dass Hinweise angezeigt werden, wird nach 2 1/2 Minuten der erste angezeigt. Dieser enthüllt den Anfangs- und den Endbuchstaben, halbiert jedoch im Gegenzug die Punkte, die man am Spielende erhält! Der zweite Hinweis wird nach 4 Minuten angezeigt und enthüllt einen zufälligen weiteren Buchstaben. Wird dieser Hinweis gezeigt, werden die Endpunkte auf ein Drittel gesenkt.

Die Basispunkte richten sich nach der Länge des Worts: Von 6 bis 10 sind die Basispunkte die Hälfte der Wortlänge, also 3, 3.5, 4, 4.5, 5! 11 bis 20 Zeichen bringen 7 Basispunkte, und alles über 20 bringt 15. Diese werden dann mit Tipp-Malus verrechnet und das Ergebnis abgerundet.

So bringt ein Wort mit 6 Zeichen ohne Hinweise 3 Punkte, ansonsten nur einen einzigen. Ein Wort mit 21 Zeichen bringt ohne Hinweise 15 Punkte, mit einem Hinweis noch 7 und mit beiden Hinweisen immerhin noch 5 Punkte.

Gestartet wirds im Chat mit "!wordmix", gelöst mit "!wordmix LÖSUNG".

Quiz
- Ihr lasst euch eine Liste aller Quizze mit "!quiz" ausgeben
- Ihr startet das gewünschte Quiz mit "!quiz ID", euch werden dann die Fragen des Quizzes in zufälliger Reihenfolge gestellt, jedoch maximal 15 Stück.
- Die jeweiligen Antworten werden einfach in den Chat gesendet, ihr habt 30 Sekunden Zeit für eine Antwort. Wird die Frage in dieser Zeit nicht beantwortet, wird die nächste Frage gestellt

Punkte gibt es natürlich auch: 2 für jede richtige Antwort und zusätzlich 10 für denjenigen, der die meisten Fragen dieses Quizzes richtig beantwortet hat! Bei Gleichstand werden die 10 Punkte durch die Anzahl der Gewinner geteilt und das Ergebnis abgerundet (Bei 3 Gewinnern bekommt jeder 3 Punkte)

Ein Quiz kann nur alle 3 Minuten gestartet werden. Bot-Mods und aufwärts können immer ein Quiz starten!

4. Nutzung der Umfragen
Auch wenn es in der Anleitung bereits steht:
Bestehende Umfragen können nur gelöscht, aber NICHT geändert werden!! Bitte bedenkt das, wenn ihr das Formular absendet, oder die bisherige Umfrage ist nicht mehr!

Im Chat selbst läuft das ganze über den Befehl "!umfrage", nachdem ihr den abgesendet habt, bekommt ihr eine Liste der Umfragen nach dem Muster

Code: Alles auswählen

ID: X => Frage: Y; ID: Z => Frage: bla;

Um dann anschließend eine dieser Umfragen einzusehen, müsst ihr "!umfrage ID" absenden. Erhalten werdet ihr eine Zeile nach folgendem Muster:

Code: Alles auswählen

 ID: X => Antwort: Y; ID: Z => Antwort: blubb;
Abgestimmt wird dann mit "!vote UMFRAGEN-ID ANTWORT-ID". Habt ihr also die Umfrage mit der ID 1 ausgegeben und wollt für die 2. Antwort stimmen, lautet der Befehl "!vote 1 2". Aufgrund der Komplexität der Umfragen- und Antwortmöglichkeiten ist leider nur diese Möglichkeit über IDs machbar! Zu guter Letzt müsst ihr nun "!votes UMFRAGEN-ID" absenden, um die Ergebnisse einzusehen. Diese seht ihr auch auf der Umfragen-Seite auf http://wkqb.de. Jeder Benutzer kann nur einmal abstimmen :)

Die Umfragen werden vor jedem !umfrage, !vote und !votes automatisch neu eingelesen, der Reload-Befehl wird also bei Änderungen nicht benötigt.

5. Zeitgesteuerte Aktionen
Grundsätzlich folgt die Eintragung einer Aktion (auf der Unterseite "Kalender") folgendem Schema, alles zwischen den [ und ] bezeichnet ein Textfeld:

Code: Alles auswählen

[MINUTE] [STUNDE] [TAG] [MONAT] [WOCHENTAG] [JAHR] [NACHRICHT]
Der Wochentag ist hier eine Besonderheit, da der Sonntag sowohl mit der 0 als auch mit der 7 angesprochen werden kann! Zudem kann beim Jahr nur ein * oder eine 4-stellige Jahreszahl eingegeben werden!

Hier könnt ihr zum einen ganz normale Werte eintragen:

Code: Alles auswählen

[0][0][1][1][1][2012][Frohes neues Jahr 2012]
Dieses Beispiel sendet an Neujahr 2012 die Nachricht "Frohes neues Jahr 2012" um 00:00 Uhr in den Chat, WENN der Wochentag ein Montag ist. Nicht sehr sinnvoll in diesem Fall, daher gibt es auch die Möglichkeit, einen * zu benutzen. Dieser bedeutet quasi "ist mir egal" bzw. "immer". Auch hierzu ein Beispiel:

Code: Alles auswählen

[0][0][1][1][*][*][Frohes neues Jahr]
Ihr seht, das ich eine 1 und die 2012 gegen einen * getauscht habe. Das ganze in Worten beschrieben wäre nun:
Sende jedes Jahr an Neujahr um 00:00 den Text "Frohes neues Jahr" in den Chat!
Möglich sind auch komma-getrennte Listen wie [0,15,30,45] bei den Minuten, das kennt ihr ja bereits von den Zitaten! Außerdem ist es auf der Kalender-Seite selbst noch einmal erklärt, dort auch mit noch mehr Beispielen :)

Bei Fragen hierzu meldet euch einfach im wkProjects-Chat, der ja im Seitenheader von http://wkqb.de verlinkt ist ;)

PS: Das einzige, was NICHT geht, sind Dinge wie */5 für "alle 5 FELD", also bei Minuten "alle 5 Minuten", bei Stunden "alle 5 Stunden" etc.
6. Vorteile und Nachteile gegenüber anderen Bots
Diese Aufzählung ist eine subjektive Einschätzung, da ich nicht in die Köpfe aller User blicken kann ;-)

Vorteile:
- Serverbasiert, ihr braucht keinerlei Software auf dem PC und ihr habt keine Last, zudem ist der Bot immer online
- Einfache Einrichtung, da keinerlei Kenntnisse über Scripts etc. erforderlich sind und alle Optionen auf der Einstellungsseite ausführlich erklärt werden
- Einzigartige Features (Zeitbombe, Heiße Kartoffel, besondere Begrüßungen)

Nachteile:
- Kommt es bei meinem Server zu Problemen, sind dutzende Chats ohne Bot (bis der Server eben wieder läuft)

Neutral:
- Keine Aufzeichnung der Chatlogs! Wird auch niemals nachgeliefert, solange ich ein Wörtchen mitzureden habe ;-)

7. Woher bekomme ich den wkQB?
Den Bot bekommt ihr auf https://wkqb.de, wo ihr euch zunächst ein Benutzerkonto einrichten müsst. Der Nick des Bots muss außerdem schon im Chat angemeldet sein. Nachdem ihr eure Anmeldung bestätigt habt könnt ihr nach dem einloggen auf der wkQB-Seite mit dem Punkt "Bot hinzufügen" euren Bot bei uns anmelden. Anschließend erscheint eine Unterseite für dessen Einstellungen, worüber ihr ihn auch ein- und ausloggen könnt.
Sollen auch andere User den Bot verwalten können, müsst ihr ihnen die ID des Bots geben, die ihr erfahrt, wenn ihr dem Bot "!bid" flüstert. Diese ID können die anderen dann unter dem Punkt "Bot hinzufügen" ihrem Accunt zuordnen, sobald die auf der wkQB-Seite eingeloggt sind.

8. Nachwort
Bitte meldet jede Auffälligkeit und jeden Bug, den der Bot zeigt. Trotz intensiven Tests kann ich nicht alle Fehler ausschließen, also seid bitte kooperativ :-)
Kein Support per PN!

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste