D-T-Net Sponsored Bots
D-T-Net User-Bots sind Chan-Bots, die User/Chans von uns quasi 'gesponsored' bekommen.Geschichte
Ursprünglich, als das Netz noch relativ klein war (und eigentlich noch gar kein echtes Netz) hatten wir Usern auf Anfrage "Fake-User" (User, die durch einen Server vorgetäuscht werden und nicht mal mit einem Client connected sind) dauerhaft in ihre Chans gestellt, damit die entsprechenden Chans irgendwas hatten, das ihnen in Abwesenheit die Chans "aufgehalten" hat und... weil die Leute es halt wollten ;). Mit wachsendem Netz, wuchs auch die Zahl dieser Fake-User/Bots, und ebenso der Verwaltungs- und Betreibungsaufwand für uns, da diese Fakes quasi von Hand nach jedem Server-Neustart neuerzeugt werden mussten. Daher wurde das "Erzeugen" dieser Fake-User irgendwann auf StatsServ übertragen. Irgendwann kam dann die Idee auf, dass man diesen Fake-Usern etwas mehr 'Leben' einhauchen könnte, was dann auch umgesetzt wurde - sonst würde diese Seite nicht existieren ;).Vor- und Nachteile der D-T-Net-Bots
Unsere eigenen Bots bieten einiges an Vorteilen und Nachteilen für Euch, aber auch für uns:- Minimaler 'Wartungs'- und Einrichtungsaufwand
Die Bots werden praktisch in einem Zug bestellt, angeliefert und aufgebaut ;). Es muss nichts konfiguriert werden, bevor der Bot eingesetzt werden kann und wenn es Probleme gibt, werden diese von uns gelöst bzw. wir können natürlich gute Hilfestellung zu unseren eigenen Bots geben. - hohe Verfügbarkeit
Die Bots laufen bei uns und sind sozusagen fest im Netz integriert. Daher sind sie - wenn man von Net-Splits absieht - ununterbrochen verbunden. Besonders fürs Logging ist das praktisch. - kein Ärger mit oder für uns
Viele übliche Bots haben den Nachteil, sich so zu verhalten, dass sie dem Netz durch negative Aktionen schaden (Traffic-Verursachung, 'herumzicken'). Unsere eigenen Bots sind natürlich so konstruirt, dass sie uns möglichst wenig Ärger machen ;) - Sonderrechte
Unsere Bots haben den Rang von Services. Das heißt, dass sie Dinge tun können, die normalen Usern (und damit auch Bots) nicht möglich sind. Beispielsweise sind sämtliche Aktionen, für die man normalerweise Chanop sein muss, für unsere Bots ohne Op möglich. Bans haben auf sie natürlich ebenso wenig eine Wirkung, wie ein Kick(versuch) - nämlich keine :). Auch die Floodprotection gilt nicht für Bots, und wenn sie jemand übermäßig belästigt, können sie ihn killen.
Dadurch, dass die Bots bei uns laufen, besteht da immer eine gewisse Abhängigkeit von uns. Wir entscheiden, wem wir einen Bot geben und auch, wem wir einen wegnehmen (beispielsweise bei Nicht-Nutzung des Kanals). Das Hinzufügen neuer Features ist ebenfalls auf uns beschränkt und wird auch immer unter den Gesichtspunkten der dadurch entstehenden Auslastung (wir betreiben ja quasi eine Botfarm) und Gebräuchlichkeit in der Allgemeinheit entschieden. Auf vorhandene Scripts o.Ä. können wir ebenfalls nicht zurückgreifen, da die Bots eine komplette Eigenentwicklung sind, die auch in bestimmten technischen Details nicht mit normalen Bots vergleichbar ist.
Fazit: Wer einen einfachen Bot mit Standardfeatures sucht, ist gut bedient, ein Botfreak ist jedoch nicht unbedingt zufrieden.
Wie bekomme ich einen Bot? (Vergaberichtlinie)
Bots können von uns auf Anfrage (an Darkman oder Wolle) vergeben werden. Bei unserer Entscheidung spielt bei uns immer die Gebräuchlichkeit eines Channels und die durchschnittliche Userzahl eine wesentliche Rolle. Chans mit wenigen Usern haben generell eine schlechte Chance, da wir tote Chans vermeiden wollen, also Chans, die dann die meiste Zeit nur von dem Bot bewohnt sind. Als Useruntergrenze (also die Zahl der User, die die meiste Zeit im Chan ist) haben wir uns 6-8 gesetzt. In Ausnahmefällen ('besondere' Chans) sehen wir davon allerdings auch ab. Selbst bei Erfüllung aller Kriterien besteht natürlich kein einforderbarer Anspruch auf einen Bot - die Entscheidung liegt immer bei uns.Benutzung des Bots
Identifizieren
Mit /msg Bot identify Passwort kann man sich bei (s)einem Bot identifizieren. Dazu muss natürlich zunächst ein Passwort gesetzt worden sein, normalerweise wird dies bei allen Bots bei der Einrichtung gesetzt. Lediglich ganz alte Bots können evtl. noch keines gesetzt haben. Das Passwort kann (momentan) nur von uns gesetzt und geändert werden.Mit /msg Bot unidentify kann eine vorherige Identifizierung rückgängig gemacht werden. Der Bot 'kennt' einen dann nicht mehr. Natürlich kann man sich dann wieder neu identifizieren.
Setzen von Optionen
Mit Hilfe des set-Befehl können Optionen beim Bot aktiviert und deaktiviert werden. Folgende sind momentan vorhanden:- logging
Ist diese Option gesetzt, loggt der Bot die Kanalinhalte mit. Das Format der Logs entspricht dem Mirc-Format, damit die Logs mit Programmen wie Mircstats ausgewertet werden können. Die Logs können dann mit der logsend-Funktion per DCC-Send zugeschickt werden. - autopart
Mit dieser Option kann man einstellen, ob der Bot den Kanal verlassen soll, wenn außer ihm kein anderer mehr im Kanal ist. Sobald jemand den Kanal betritt, joint der Bot den Kanal auch wieder. Damit kann vermieden werden, dass der Kanal in der Kanalliste erscheint, wenn keiner anwesend ist. Diese Option kann von der Administration 'festgesetzt' worden sein und kann dann nicht mehr verändert werden. - noop
Diese Option verhindert, dass der Bot geoppt wird, wenn er den Chan betritt. Nützlich, wenn man nicht möchte, dass der Bot standardmäßig ein Op hat. - logtimesecs
Bei aktiviertem 'logtimesecs' haben die Timestamps in Logs neben der Stunden- und Minutenangabe auch Sekundenangaben. - logremotetalksrc
Über die Trigger @say und @me ist es möglich, den Bot in den Kanal sprechen zu lassen. Ist diese Option aktiviert, wird in den Logs zusätzlich der Nickname der Person festgehalten, die über den Bot 'gesprochen' hat. - nochanctcpfloodprot
Diese Option deaktiviert (in dem man diese Option aktiviert - sie ist 'umgekehrt') die Floodprotection
vor CTCP, die an den Chan gerichtet sind. Von einer Aktivierung dieser
Option und damit der Deaktivierung des Floodschutzes ist stark
abzuraten, da er im Notfall größeren Schaden verhindern kann! - nochanctcpflood
Diese Option entspricht der Option nochanctcpfloodprot lediglich mit dem Unterschied, dass hier vor Textflood in den Chan geschützt wird. Auch hier ist von einer Deaktivierung der Floodprotection abzuraten.
Floodprotection
Die in den Bots eingebaute Floodprotection zielt ausschließlich darauf ab, "Großangriffe" auf einen Chan abzuwenden. Unter Großangriffen sind Attacken mit meist mehreren Floodern, die plötzlich den Chan joinen und dann flooden, zu verstehen. Diese Flooder erzeugen dann innerhalb kürzester Zeit so viel Textnachrichten, dass ein normaler Chatbetrieb ohnehin nicht mehr möglich ist, man nur noch Massen von Nachrichten vorbeiziehen und im schlimmsten Falle sogar der IRC-Client blockiert. Wesentlich drastischer ist es, wenn mit Chan-CTCPs gefloodet wird. Chan-CTCPs sind wie normale CTCP, nur statt an einen einzelnen User, an einen ganzen Channel gerichtet. Dementsprechend ist dann auch der gesamte Channel dazu 'aufgefordert' eine Antwort zurückzuschicken. Da diese Antworten auf CTCPs oft recht lang sind, werden die Antwortenden bei einem CTCP-Flood vom Server entfernt, wenn sie in kurzer Zeit zu viele Antworten geben - sie flooden dann ja selbst.Die Floodprotection der Bots soll diese am meisten auftretenden Arten von Flood unterbinden, indem sie zum einen eingreift, wenn eine gewisse Masse an Text im Chan in kurzer Zeit 'auftaucht' und zum anderen, wenn gefährlich viele ChanCTCPs an den Chan geschickt werden. Die ChanCTCP-Protection greift da natürlich wesentlich schneller ein, da man nicht allzu viele CTCPs braucht, um andere User durch CTCP-Antworten-Flood entfernen zu lassen.
Das Eingreifen sollte allerdings auch erklärt werden: Sobald eine der beiden Floodarten auftritt, wird von da an jeder User gekickbannt, der dann - je nach aufgetrenem Flood - etwas sagt oder ein weiteres ChanCTCP sendet. Während eines Floods sollte man sich also unbedingt ruhig verhalten, um nicht selbst vom Bot gekickt zu werden. Diese Maßnahme ist zwar recht heftig, nur wird so auch eine hohe Trefferquote erzielt.
Anderen Usern Zugriff auf den Bots geben (Access-/Passwortliste)
Seit neustem besteht auch die Möglichkeit, anderen Usern eingeschränkten Zugriff auf einen Bot zu geben. Man richtet dazu einfach weitere Passwörter ein, mit denen sich andere User dann beim Bot identifizieren können. Diesen zusätzlichen Passwörtern können dann beliebige Rechte zugeteilt werden.Hinzufügen eines Passwortes (access add)
Mit /msg Bot add Passwort kann ein neues Passwort eingerichtet werden. Mit diesem Passwort sind dann zunächst keine Berechtigungen beim Bot zugeteilt. Diese müssen mit dem access give Befehl noch zugeteilt werden.Entfernen eines Passwortes (access del)
Mit /msg Bot add Passwort kann ein vorhandenes zusätzliches Passwort wieder entfernt werden. User, die mit diesem Passwort noch beim Bot identifiziert sind, behalten ihre Berechtigungen, bis sie sich ausloggen oder den unidentify-Befehl benutzt haben.einem Passwort Rechte zuteilen (access give)
Mit /msg Bot give Passwort Recht wird einem Passwort das entsprechende Recht gegeben. Folgende Rechte können zugeteilt werden:| GETOP | Zugriff auf den Trigger @getop möglich |
| OP | Zugriff auf @op und @deop möglich |
| VOICE | Zugriff auf @voice und @devoice möglich |
| KICK | Zugriff auf den Trigger @kick |
| SELFOP | Zugriff auf @opme und @deopme möglich |
| SELFVOICE | Zugriff auf @voiceme, @devoiceme, @vme, @dvme möglich |
| SPEAK | Zugriff auf @say und @me möglich |
| STATS | Zugriff auf @stats möglich |
| BAN | Zugriff auf @ban und @unban möglich |
| USERTOP | Zugriff auf @usertop möglich |
| CLEARUSERTOP | Zugriff auf den Trigger @clearusertop möglich |
| CALC | Zugriff auf den Trigger @calc möglich |
| LOGSEND | Zugriff auf den Logsend-Befehl möglich |
Es ist auch möglich, mehrere Rechte gleichzeitig hinzuzufügen. Dazu müssen die Rechte einfach nur mit einem Komma getrennt (keine Leerzeichen etc.!) hintereinander geschrieben werden. Beispielsweise: /msg DuMeinBot give DuMeinPasswort KICK,BAN,SELFOP,SELFVOICE
einem Passwort Rechte entziehen (access take)
Mit /msg Bot give Passwort Recht wird einem Passwort ein Recht entzogen. Wie bei access give können dabei auch mehrere Rechte durch Kommata getrennt gleichzeitig entfernt werden.Liste der Passworte und Berechtigungen anzeigen
Über /msg Bot access list kann eine Liste aller Zusatzpassworte und deren Berechtigungen angezeigt werden.Trigger
Natürlich ist es auch möglich, den Bot auf sogenannte Trigger, die im Channel gesagt werden, reagieren zu lassen. Alle Trigger beginnen dabei mit einem @, das auch das erste Zeichen in einer Zeile sein muss, damit der Bot darauf reagiert. Folgende Trigger sind momentan vorhanden:| @mode | führt einen Mode-Befehl durch |
| @topic | ändert das Topic im Kanal |
| @kick | kickt die angegebene Person (mit angebbarem Grund) aus dem Kanal |
| @op | opt den Bot selbst (wenn kein Nick angegeben ist) oder eine oder mehrere Personen, dessen Nicks dahinter angegeben werden koennen |
| @deop | deopt den Bot selbst oder mehrere Personen (wie bei @op) |
| @voice | laesst den Bot sich selbst voice geben oder anderen (s. @op) |
| @devoice | laesst den Bot sich selbst devoicen oder andere (s. @op) |
| @opme | opt die Person, die @opme sagt |
| @deopme | deopt die Person, die @deopme sagt |
| @voiceme | gibt der Person voice, die @voiceme sagt |
| @devoiceme | nimmt der Person voice, die @devoiceme sagt |
| @vme | entspricht @voiceme |
| @dvme | entspricht @devoiceme |
| @say | laesst den Bot etwas in den Kanal sagen |
| @me | laesst den Bot etwas als Action in den Kanal sagen (/me bla) |
| @stats | laesst den Bot eine Kanalstatistik zeigen |
| @ban | bannt den angegebenen User mit seinem Host |
| @kban | bannt den angegebenen User und kickt ihn dann |
| @unban | entbannt den angegebenen User |
| @deban | dasselbe wie unban |
| @usertop | zeigt eine nach gesagter Zeilenzahl sortierte Liste der User |
| @clearusertop | loescht die usertop-Liste |
| @calc | ein einfacher Taschenrechner, der nur 4 Grundrechenoperationen im Bereich der ganzen Zahlen beherrscht. Beispiel: "@calc 23*23+19". Es wird dabei schlicht von links nach rechts gerechnet. |
| @getop | veranlasst StatsServ, dem Bot Op zu geben |
Die Trigger können als direkte Message an den Bot versendet werden, also im Query bzw. über /msg Bot @trigger, beispielsweise /msg DuMeinBot @say hallo


