Eggdrop

Version 1.1

Inhalt

1 Eggdrop
1.1 Was ist Eggdrop?
1.2 Warum Eggdrop?
1.3 Brauche ich wirklich einen Eggdrop?
2 Download
2.1 Wichtiger Hinweis zum Downloaden
2.2 Download Linux/Unix
2.3 Download Windows
3 Installation und Konfiguration
3.1 Installation Linux/Unix
3.2 Installation Windows
3.3 Konfiguration
4 Start
4.1 Start Linux/Unix
4.2 Start Windows
4.3 Prüfen, ob der Bot läuft
4.4 Bot unter Windows per Mausklick starten
4.5 Hello sagen und Passwort setzen
5 Bedienung
5.1 Party-Line, Handles und Flags
5.2 Bans, Exempts und Invites
5.3 Sonstiges Befehle
6 Linken von Bots
6.1 Was ist Linken?
6.2 Linken der Bots ohne Userlist-Austausch
6.3 Linken der Bots mit Userlist-Austausch
6.4 Sonstige Befehle
7 TCL-Scripts
7.1 Fertige Scripts herunterladen
7.2 Selber programmieren

 

1 Eggdrop

1.1 Was ist Eggdrop?
Eggdrop ist ein englischer Name und heisst wörtlich übersetzt Eierverlierer. Das hat aber nix mit Eiern zu tun ;-) Eggdrop ist ein sogenannter Bot. Ein Bot ist nichts anderes als ein Roboter. Es gibt verschiedene Arten von Bots. Der Eggdrop ist ein Chatbot. Er verbindet sich mit einem IRC-Server und sieht im Chat gleich aus wie ein ganz normaler Chatter. Auf Netzwerken, die keine Services (NickServ, ChanServ usw.) haben, werden Bots hauptsächlich gebraucht, um die Channels vor Angreifern zu schützen. Bots können aber auch eine Channelstatistik erstellen, oder auf Befehle der Users reagieren.

ACHTUNG: Auf einigen Servern sind Bots verboten. Wenn man dort aber trotzdem einen Bot setzt, kann man vom Chat gebannt werden.

DIE BENUTZUNG DES BOTS ERFOLGT AUF EIGENES RISIKO!

1.2 Warum Eggdrop?
Eggdrop hat sehr viele Vorteile gegenüber anderer Bots. Hier hab ich ein paar aufgezählt:

1.3 Brauche ich wirklich einen Eggdrop?
Eggdrop ist ein sehr guter Bot, allerdings sollte man sich überlegen, ob man "reif" genug ist für diesen Bot, vor allem wenn man Windows benutzt. Denn der Bot wurde ursprünglich für Unix-Systeme entwickelt und Unix-Programme stellen im Allgemeinen sehr hohe Ansprüche an den Benutzer. So auch Eggdrop.

 

2 Download

2.1 Wichtiger Hinweis zum Downloaden
Ich übernehme keine Verantwortung über Schäden, die durch den Gebrauch dieser Programme entstanden sind.

2.2 Download Linux/Unix
Der neuste Eggdrop kann unter http://www.eggheads.org/downloads/ heruntergeladen werden.

2.3 Download Windows
Der Eggdrop für Windows ("Windrop") kann unter https://sourceforge.net/project/showfiles.php?group_id=7174 heruntergeladen werden. Die -handlen32-Versionen sind gleich wie die normalen Versionen, nur bei diesen beträgt die maximale Länge eines Handles 32, anstelle von 9. Einfacher gesagt: Wenn dein IRC-Server Nicks erlaubt, die länger als 9 Zeichen sind, dann solltest du die -handlen32-Version Version nehmen.

 

3 Installation und Konfiguration

3.1 Installation Linux/Unix
Unter Unix/Linux musst du den Eggdrop zuerst noch folgendermassen kompilieren, wobei * durch den genauen Namen des Eggdrops zu ersetzen ist.:

tar xzvf eggdrop*.tar.gz oder tar xjvf eggdrop*.tar.bz2
cd eggdrop*
./configure
make config
make
make install

Wenn beim kompilieren TCL nicht gefunden wurde, dann installiere zuerst TCL.

3.2 Installation Windows
Wenn du Windows hast, entpackst du den Eggdrop in ein Verzeichnis (am Besten C:\Windrop oder so). Danach editierst du die Datei resolv.conf, die sich im Windrop-Verzeichnis befindet und änderst 192.168.0.1 in die IP von deinem ersten Nameserver. Wenn du nicht weisst, wie dein Nameserver heisst, dann lies die Anweisungen unten.

Bei Windows 95/98/ME: Geh auf Start -> Ausführen und tippe winipcfg ein. Klicke dann auf Mehr Info und benutze die IP, die unter DNS-Server aufgeführt ist.

Bei Windows NT/2000/XP: Geh auf Start -> Ausführen und tippe command ein. Im schwarzen Fenster, welches erscheint, tippst du ipconfig /all ein und benutze die IP, die bei DNS-Server aufgeführt ist.

Bei einem Providerwechsel musst du eventuell den Nameserver wieder neu in die resolv.conf eintragen.

3.3 Konfiguration

Ich hab hier mal eine kleine Konfigurationsanleitung geschrieben. Die alte Version kann hier gelesen werden. Die alte Seite ist aber veraltet und es können mehr Fehler passieren.
 
Also, öffne jetzt die eggdrop.simple.conf und konfiguriere sie folgendermassen (die Zeilen, die ich hier nicht beschrieben habe, lässt du so wie sie sind). Wenn du keine eggdrop.simple.conf im Verzeichnis findest (sondern z.B. nur eine eggdrop.conf), dann kannst du die Config hier herunterladen.
 
set nick "Lamestbot": Lamestbot ist der Nickname des Bots
 
set altnick "Llamab?t": Das ist der Alternativ-Nickname (falls der Nickname schon besetzt ist) des Bots. Dabei wird jedes ? durch eine beliebige Zahl von 0 bis 9 ersetzt.
 
set realname "/msg LamestBot hello": Der Name, der im /whois angezeigt wird.
 
set servers {
  you.need.to.change.this:6667
}

you.need.to.chante.this:6667 wird durch eine Serverliste ersetzt, also z.B:
set servers {
  irc.datacomm.ch
  irc.freenet.de
}
 
Die nächsten Zeilen, die mit channel anfangen, fügen einen statischen Channel hinzu. Du kannst sie löschen, denn du kannst die Channels auch nachträglich hinzufügen. Wenn du trotzdem statische Channels machen willst, dann nimm am besten die eggdrop.advanced.conf (oder wenn keine dabei ist die eggdrop.conf) und lies die alte Version dieses Textes oder die englischen Kommentare im Configfile.
 
listen 3333 all: Diese Zeile definiert den Telnet-Port, den der Eggdrop benutzt.
 
#set owner "MrLame, MrsLame": bei dieser Zeile musst du das # am Anfang wegnehmen und MrLame, MrsLame durch den Nicknamen von dir und den anderen Besitern des Bots ersetzen.
 
logfile jpk #lamest "logs/lamest.log": hier kannst du die Logfiles für deine Channels bestimmen.
 
die "you didn't edit your config file! that's a NO NO": Zeilen, die mit die anfangen, definieren das Beenden des Bots. Du musst diese Zeile entfernen, damit der Bot startet.
 
So, jetzt wärst du eigentlich schon fertig mit der Konfiguration.

 

4 Start

4.1 Start Linux/Unix
Wir wechseln in das Verzeichnis, in dem sich der Bot befindet (z.B. cd /home/tom/eggdrop) und geben dann ./eggdrop -m eggdrop.simple.conf ein.

4.2 Start Windows
Man klickt auf Start->Ausführen und tippt dort "command" in. Dann meldet sich die Eingabeaufforderung. Wenn sich der Eggdrop in C:\Windrop befindet, tippt man das ein:

cd C:\Windrop
eggdrop -m eggdrop.simple.conf

4.3 Prüfen, ob der Bot läuft
Wenn folgendes kommt: [18:32] botnick: 0 channels, 0 users., dann müsste der Bot laufen. Beim nächsten Start musst du die -m-Option weglassen. Wenn etwas anderes steht, oder wenn nach diesen Zeilen eine Fehlermeldung kommt, dann läuft er nicht. Das kann verschiedene Gründe haben.

Wenn der Bot nicht läuft, dann hat es einen Fehler im Config-File. Wenn eine Zeilennummer steht, dann schaust du in der angegebenen Zeile ob es einen Fehler hat (zum Beispiel fehlt ein Anführungszeichen). Wenn du keinen Fehler siehst, oder nicht sicher bist, dann kommentierst du die Angegebene Zeile mit einem "#" am Anfang der Zeile aus und versuchst es noch einmal (geht natürlich nur bei nicht-lebensnotwendigen Zeilen). Wenn du wirklich nicht mehr weisst was machen, dann mach das Config-File neu und fülle nur die wichtigsten Sachen aus.

4.4 Bot unter Windows per Mausklick starten
Um, den Bot unter Windows per Mausklick starten, gibt es zwei Möglichkeiten:

1. Verknüpfung: Erstelle eine Verknüpfung indem du im Explorer die Datei eggdrop.exe mit der rechten Maustaste anklickst und Verknüpfung erstellen auswählst. Verschiebe sie nachher am besten auf den Desktop. Klicke die eben erzeugte Verknüpfung mit der rechten Maustaste an und wähle Eigenschaften. Wechsle dann zu der Registerkarte Verknüpfung. Bei Ziel sollte der Pfad zur eggdrop.exe schon stehen. Füge aber noch den Namen der Config-Datei hinzu und überprüfe, ob bei Arbeitsverzeichnis der Pfad zum Eggdrop steht, so wie auf der Abbildung:

Eigenschaften

2. Batch-Datei: Erstelle eine *.bat Datei, z.B. eggstart.bat. Die Datei hat folgenden Inhalt, falls sich eggdrop in C:\Windrop befindet:

cd C:\Windrop
eggdrop eggdrop.simple.conf

Wenn man die Datei oder die Verknüpfung im Autostart-Ordner ablegt (er befindet sich im Start-Menü), dann startet der Eggdrop bei jedem Start von Windows.

4.5 Hello sagen und Passwort setzen
Wenn der Bot im IRC ist, machst du: /msg botnick hello. Er sollte dir dann antworten, dass du ein Passwort setzen musst. Dann musst du ein mindestens 6 Zeichen langes Passwort setzen mit: /msg botnick pass Passwort. Bei Problemen liest du den nächsten Abschnitt.

Wenn der Bot dir nicht antwortet oder gar nicht im IRC ist, versuch eine Telnet-Verbindung nach localhost aufzubauen (oder zu der IP-Adresse des Bots). Hilfe zum Aufbauen einer Telnet-Verbindung findest du in meinem Text über Internetprotokolle. Der Port ist der, welchen du beim Konfigurieren angegeben habt. Standardmässig heisst er 3333. Der Bot sollte dich dann nach dem Login fragen. Du tippst new ein. Erst dann wird er dich nach deinem Nick und dem Passwort fragen. Du bist jetzt schon eingelogt in der Party-Line. Was das ist werde ich unten genau beschreiben. Wenn der Bot aber meldet, das new ein fehlerhafter Login ist, dann kill den Bot (CTRL+ALT+DEL drücken, Eggdrop auswählen und Task Beenden drücken oder bei Linux killall -9 <pid> bzw. killall eggdrop), lösch die auf .user endende Datei, die sich im Eggdrop-Verzeichnis befindet, starte den Bot erneut und wiederhole das mit dem Telnet noch mal.

 

5 Bedienung

5.1 Party-Line, Handles und Flags
Wenn du nicht schon in der Party-Line bist, dann tipp folgendes im Chat-Clienten ein:
/dcc chat botnick oder /chat botnick
 
Wenns nicht geht, lies den Abschnitt weiter oben durch, gib aber als Login deinen Nick an und als Passwort das Passwort, das du vorhin gesetzt hast. Was ist jetzt überhaupt diese Party-Line? Nun, dort werden die meisten Eggdrop-Befehle eingegeben. Du kannst dort aber auch chatten mit den Leuten, die über die entsprechenden Rechte (Flags) verügen, um sich mit der Party-Line zu verbinden.
 
Wie funktioniert die Benutzerliste des Eggdrops? In der Benutzerliste wird ein Benutzer Handle genannt. Ein Handle kann die Hosts des Benutzers und Flags (Rechte) aufnehmen. Es gibt lokale Flags und globale Flags. Lokale Flags sind nur für einen bestimmten Channel gültig und globale Flags sind für alle Channels gültig. Hier ein Beispiel eines Handles:
 
Handle: tom
Hosts: tom*!tom@*.provider.ch, tom!*@admin.eggdrop.ch
Flags (global): o
Flags #botcentral (lokal): afmo
Flags #intern (lokal): k
 
Ich hoffe, du weisst, wie ein Host aufgebaut ist und was das Zeichen * im Host bedeutet. Was bedeuten jetzt aber die Buchstaben o, afmo und k? Das sind eben diese Flags; hier ist eine Liste der Flags:

Flag

Beschreibung

Beispiel

+a

+a zusammen mit +o gibt Auto-Op. Der User wird automatisch geopt wenn er einen Channel betretet.

Achtung: Grosse Sicherheitslücke: Wenn der User eine dynamische IP hat und z.B. als *!*loli@*.freesurf.ch in den Bot eingetragen ist, dann kann ein anderer User von *.freesurf.ch auch Op bekommen, wenn er die IdentD wechselt (und kann danach den Channel übernehmen)

tester hat +ao

*** tester has joined #chan
*** botnick sets mode: +o tester

+b
(nur Global)

+b kennzeichnet einen anderen Bot aus dem Botnet.

 

+d

+d steht fü Deop. Damit wird ein User immer gedeopt wenn er geopt wird, ausser er wird von einem Master (+m) geoppt.

tester hat +fo und WillOp +d

*** tester sets mode: +o WillOp
*** botnick sets mode: -o WillOp

+f

+f steht für Freund. Er wird vom Bot vor Kicks, Deops, Banns usw. geschützt. Ausserdem darf er den Bot deopen, ohne das der Bot nachher wütend auf ihn wird und ein +d einstellt ;-).

z.B.: tester hat +fo und dummkopf +o

*** dummkopf sets mode +b *!*tester@*
*** botnick sets mode: -b *!*tester@*

+g

+g zusammen mit +v gibt Auto-Voice. Der User wird automatisch gevoicet, wenn er in einen Channel betretet.

tester hat +gv

*** tester has joined #chan
*** botnick sets mode: +v tester

+h

Ein Bot zeigt so einem User die Hilfetexte auch fett und unterstrichen.

 

+j
(nur Global)

Er hat die komplette Kontrolle über dem Dateisystem.

 

+k

Wenn ein User mit diesem Flag auf einen Channel reinkommt, wird er sofort gebannt!

angreifer hat +k

*** angreifer has joined #chan
*** botnick sets mode: +b angreifer
*** angreifer was kicked by botnick (...and don't come back!)

+m

Er kann alles auf den Channels machen.

 

+n

Er kann ALLES mit dem Bot machen (ausser den permamenten Besitzer des Bots löschen).

 

+o

Dieser User kann Oprecht verlangen mit
/msg <botnick> op  <passwort> [channel]
Wenn kein Channel angegeben wird opt dich der Bot auf allen Channels.

tester hat +o

*** tester has joined #chan
-> *botnick* op mein_passwort #chan
*** botnick sets mode: +o tester

+p
(nur Global)

Er kann in die Party-Line des Bots gehen.

tester hat +p

Chat with botnick
Waiting for acknowledgement...
DCC Chat connection established
<botnick> Gib dein Passwort ein.

+q

Der User darf kein Voice haben.

WillVoice hat +q, tester hat +o

*** tester sets mode: +v WillVoice
*** botnick sets mode: -v WillVoice

+t
(nur Global)

Master vom Botnet. Mehr dazu bei Eggdrops linken

 

+u
(nur Global)

Wird auch bei Eggdrops Linken erklärt

 

+v

Dieser User kann ein Voice verlangen mit
/msg <botnick> voice <passwort> [channel]
Wenn kein Channel angegeben wird voicet dich der Bot auf allen Channels.

tester hat +v

*** tester has joined #chan
-> *botnick* voice mein_passwort #chan
*** botnick sets mode: +v tester

+x
(nur Global)

Ein User mit diesem Flag kann über den Bot Dateien senden und empfangen.

 

Dann gibt es noch Bot-Flags. Aber ich werde die erst bei Eggdrops linken beschreiben. Natürlich musst du nicht alle Flags auswendig können. Ich weiss auch nicht alle auswendig. Wichtig sind einfach die Flags +d, +o, +f, +m und +n. Man braucht sie sehr häufig. Mit der Zeit wird man sie sich merken. Und nicht jedem User das +n-Flag geben. Wers macht wird kann alle seine Channels, Eggdrops und unter Umständen (z.B. falsch konfigurierter Eggdrop oder ein Exploit) sogar den Computer, auf dem der Eggdrop läuft (!!!), verlieren. Ich übernehme hier (wie immer) keine Verantwortung.
 
So, genug Theorie. Damit du mit diesen Flags auch etwas anfangen kannst, werde ich hier die Befehle des Eggdrops beschreiben. Man tippt sie alle in der Party-Line ein.
 
Hier noch eine kurze Erklärung, wie der Befehle aufgebaut ist:
.Befehl <das_muss_man_angeben> [das_kann_man_eingeben]
 
Achtung: Jeder Befehl fängt mit einem Punkt (.) an!

Befehl

Beschreibung

Beispiel

.help [befehl]

Zeigt die Hilfe an oder die Hilfe zum Befehl. Mein Tip: schaut euch mal alle Befehle mit .help all an.

.help chattr
Zeigt die Hilfe zum Befehl chattr an.

.+chan <#chan>

Fügt einen neuen dynamischen Channel ein.
Ein dynamischer Channel ist so einer, welcher nicht im Config-File angegeben wurde.

.+chan #tisch
Fügt den Channel #tisch hinzu.

.-chan <#chan>

Entfernt einen dynamischen Channel.
Achtung: Dieser Befehl entfernt auch alle lokalen Flags für diesen Channel von den Users.

.-chan #windows
Entfernt den Channel #windows.

.jump [server [port]]

Geht auf einen anderen Server. Wenn kein Server angegeben ist, nimmt er einfach den nächsten Server in der Serverliste.

.jump irc.stealth.net 6668
Springt auf Port 6668 des Servers irc.stealth.net

.status

Zeigt alle wichtigen Informationen über den Bot an.

Selber mal ausprobieren

.rehash

Nach einer kleinen Änderung im Config-File muss man das dem Bot mit diesem Befehl mitteilen.

-

.restart

Der Bot startet neu. Er verbindet sich dann auch neu mit dem IRC-Server. Ist bei grösseren Änderungen in TCL-Scripts notwendig.

-

.die [reason]

Beendet den Bot. Man muss ihn dann wieder über eggdrop botconf starten.

.die bin gleich wieder da
So sieht das dann etwa auf dem Channel aus:
*** botnick Quit (bin gleich wieder da)

.adduser <nickname> [handle]

Wenn kein Handle angegeben wird, macht adduser einen neuen Handle (wenn er noch nicht existiert) und fügt den Host von nickname (in der Form *!host@*.domain) zu diesem neuen Handle hinzu. Falls handle angegeben ist, fügt der Befehl einfach den Host von nickname zum handle hinzu.

.adduser tester

.+user <handle> [host]

Erstellt einen neuen Handle und fügt dem (wenn angegeben) einen neuen Host hinzu.

.+user tom *tom*!*tom@*.hispeed.ch
Fügt ein Handle namens tom hinzu mit dem Host *tom*!*tom@*.hispeed.ch.

.-user <handle>

Entfernt einen Handle.

.-user Gregory
Entfernt den User Gregory vom Bot.

.+host <handle> <hostmask>

Fügt einem Handle einen Host hinzu.

.+host Jochen *!*jochen@*.ipt.aol.com
Fügt Jochen den Host *!*jochen@*.ipt.aol.com hinzu.

.-host <handle> <hostmask>

Entfernt einem Handle einen Host.

.-host TheGame *!*dede@*.tiscalinet.ch
Entfernt den Host *!*dede@*.tiscalinet.ch von TheGame.

.whois <handle>

Listet die Flags und Hosts von handle auf.

.whois tester
Listet die Hosts und Flags von tester auf.

.chattr <handle> [changes] [channel]

Ändert die Flags eines Handles.

.chattr SuperLame +fmo #switzerland
Gibt dem Handle SuperLame die lokalen Flags +fmo auf dem Channel #switzerland

.chattr krusty +o
Gibt dem User krusty das globale Flag +o

.chpass <handle> [passwort]

Verändert das Passwort von Handle. Wenn kein Passwort eingegeben wird, dann wird das Passwort entfernt.

.chpass tester 3718419

.chhandle/.chnick <altes_handle> <neues_handle>

Verändert den Handle.

.chhandle tom_ tom
Ändert den Handle tom_ in tom

5.2 Bans, Exempts und Invites
Jetzt kommen die Bans, Exempts und Invites.
 
Für den Anfang sag ich dir zuerst was das überhaupt ist:
 
+b - Ban - Mit dem Ban kann man Chatter bannen damit sie nicht mehr reinkommen. Wenn man auf dem IRC zB.: /mode #channel +b *!*asdf@*.freesurf.ch macht und dann jemanden kickt welcher zu diesem Host passt, dann kann er nicht mehr rein :)
 
+e - Exempt - Ein Exempt ist eine Ausnahme von einem Ban. Also wenn man zB. *!*@*.ch bant und eine Ausnahme auf *!*@*.tiscalinet.ch setzt, dann können alle Users von *!*@*.tiscalinet.ch reinkommen, aber die anderen User aus *!*@*.ch nicht. Exempts existieren nicht auf allen Servern.
 
+I - Invite - Das sind Einladungen für bestimmte Hosts, für Channels welche +i sind (verwechsle +i, kleines i, mit +I, grosses i, nicht!). Wenn man also eine Einladung auf *!*@*.ch setzt und auf dem Channel +i einstellt, dann können nur Users aus *!*@*.ch reinkommen. Invites existieren nicht auf allen Servern.
 
Hier siehst du eine Liste von den Befehlen mit dem Umgang mit Bans:

Befehl

Beschreibung

Beispiel

.bans all

Zeigt alle Banns an.

 

.bans <#chan>

Zeigt alle Banns von einem bestimmten Channel an.

 

.+ban <hostmask> [channel] [%bantime<XdXhXm>] [reason]

Fügt einen Bann hinzu.

.+ban *!*@*.pl
Fügt einen Bann auf allen Channels hinzu mit der Hostmask *!*@*.pl

.+ban *test*!*@*.ch #ch-opers Raus!
Fügt einen Bann auf #ch-opers hinzu mit der Hostmask *test*!*@*.ch und dem Reason "Raus!"

.+ban *!*elpison@*.cyberhome.ch #schweiz %1d2h3m lamer
Fügt einen 1 Tag, 2 Stunden und 3 Minuten dauernden Bann auf #schweiz hinzu mit der Hostmask *!*elpison@*.cyberhome.ch und dem Reason "lamer"

.-ban <hostmask|bannummer> [channel]

Entfernt einen Bann.

.-ban *!*@*.pl
Entfernt den globalen Bann *!*@*.pl auf allen Channels.

.-ban *!*elpison@*.cyberhome.ch #lol
Entfernt den Bann *!*elpison@*.cyberhome.ch auf #lol

.-ban 1
Entfernt den Bann welcher mit "1" unter .bans all gekenzeichnet ist.

.-ban 1 #test
Entfernt den Bann auf #test welcher mit "1" unter .bans #test gekenzeichnet ist.

Die angegebenen Befehle kann man auch mit Exempts und Invites benutzen. Sie heissen dann .exempts, .+exempt und .-exempt bzw. .invites, .+invite und .-invite.

5.3 Sonstige Befehle
Jetzt zeig ich dir noch kurz eine Liste anderer nützlicher Befehle.

Befehl

Beschreibung

Beispiel

.msg <#chan> <text>

Sendet etwas zum Channel.

In der Party-Line:
.msg #pop hallo :)
Auf #pop:
<botnick> hallo :)

.act <#chan> <action>

Sendet eine Action zum Channel (wie /me).

In der Party-Line:
.act #switzerland sagt hallo
Auf #switzerland:
* botnick sagt hallo

.op/.deop/.voice/.devoice <nick> <#chan>

Opt/Deopt/Voict/Devoict jemanden auf dem angegebenen Channel.

zB.:
In der Party-Line:
.op tester #ch-opers
Auf #ch-opers:
*** botnick sets mode: +o tester

.topic <#chan> [topic]

Ändert den Topic eines Channels. Wenn kein Topic angegeben wird, dann wird der aktuelle Topic angezeigt.

In der Party-Line:
.topic #unix.ch Willkommen auf #unix.ch!
Auf #unix.ch:
*** botnick changes topic to: 'Willkommen auf #unix.ch!'

.kick <#chan> <nick> [reason]

Kickt jemandem vom Channel mit einem eventuellen Reason.

In der Party-Line:
.kick #cafe TheGame lamer
Auf #cafe:
*** TheGame was kicked by botnick (lamer)

.kickban <#chan> <nick> [reason]

Bannt und kickt jemandem vom Channel mit einem eventuellen Reason.

In der Party-Line:
.kickban #lol Dummkopf hahaha
Auf dem Channel:
*** botnick sets mode +b *!*dummkopf@*.dumm.ch
*** Dummkopf was kicked by botnick (hahaha)

.invite <nick> <#chan>

Invited jemanden in einen Channel.

 

.channel <#chan>

Zeigt die Informationen zum Channel an. Unbedingt mal ausprobieren :-)

 

 

6 Linken von Bots

6.1 Was ist Linken?
Linken heisst nichts anderes als verbinden. Wenn man also zwei oder mehrere Bots hat, dann sollte man sie linken. Das Linken hat folgende Vorteile:

6.2 Linken der Bots ohne Userlist-Austausch
Man kann ganz einfach und ohne Probleme Bots ohne Userlist-Austausch linken. Ich nehme als Botnamen bot1 und bot2, wobei bot1 der Hauptbot ist. Dabei wird sich bot2 zu bot1 verbinden und nicht umgekehrt (man macht das immer so). Bot1 sollte die stabilste Leitung haben. Und so gehts:
 
In bot1:
.+bot bot2 host.vom.bot2.de:3333 *!*bot2@host.vom.bot2.de
 
In bot2:
.+bot bot1 host.vom.bot1.de:3333 *!*bot1@host.vom.bot1.de
 
Wenn man die beiden Befehle eingibt, sind die Bots schon bereit zum Linken.
 
Hier noch eine genaue Beschreibung des Befehls .+bot:
.+bot <Handle> [StatischerHost:[TelnetPort]] [Hostmask]
 
Handle: Das Handle des Bots in der Userlist (bekommt automatisch das +b Flag)
StatischerHost: Das MUSS ein statischer Host sein. Der Bot wird sich dann zu diesem Host verbinden. Wenn der Bot eine dynamische IP hat dann musst du einen statischen Account einrichten, welcher auf die IP des Bots verweist. Man ändert dann bei jedem IP-Wechsel die IP in der Datenbank und die Bots können sich linken. Es gibt diesen Service übrigens gratis bei http://www.dyndns.org/
TelnetPort: Das ist der Port, welchen man unter listen xxxx all beim zu linkenden Bot eingestellt ist. Wenn keiner angegeben wird, dann wird 3333 verwendet.
ACHTUNG: Wenn ein Bot z.B. in einem LAN ist, kann von ihm aus keine Verbindung hergestellt werden (aber umgekehrt). Wenn beide Bots in verschiedenen LANs sind, kann kein Botlink gemacht werden.
Hostmask: Diese Hostmask darf dynamisch sein. Es ist eine normale Hostmask des Bots im IRC.
 
Es wäre nicht schlecht wenn beide Bots auch die Flags +fo hätten. Stelle das noch mit .chattr ein (wenn du nicht weisst wie das geht, dann schäm dich und lies Eggdrop bedienen nochmal durch!). Die Bots sind aber noch nicht gelinkt. Man muss noch in bot2 den Befehl .link bot1 eingeben. Erst dann verbindet sich bot2 zu bot1. Bei Problemen versuchs mal umgekehrt (bei bot1: .link bot2). Anhand der Meldung erkennst du ob sie richtig gelinkt wurden. Wenns nicht geht, dann hast du wahrscheinlich etwas falsches eingetippt, oder beide Bots sind im LAN. Willst du das sich die Bots automatisch linken? Dann tippe in bot2 noch ein:
.botattr bot1 +h

6.3 Linken der Bots mit Userlist-Austausch
Lies zuerst den ganzen Abschnitt Linken der Bots ohne Userlist-Austausch durch und füge die Bots mit .+bot hinzu. Linke sie aber noch nicht mit .link und setze auch noch nicht das +h Flag! Du musst jetzt die Botflags richtig einstellen. bot1 wird der Hub-Bot sein (Hauptbot) und speichert die Userliste. Folgendes musst du eintippen.
 
In bot1:
.botattr bot2 +gs
 
In bot2:
.botattr bot1 +ghp
 
Erst jetzt kannst du sie mit .link linken.
 
Was die Bot-Flags bedeuten erklär ich dir in dieser Tabelle.

+a

Dies ist ein Alternativ-Hub. Wenn alle +h Bots down sind, dann linkt er sich zum +a Bot.

+g

Die Userlist wird mit diesem Bot ausgetauscht.

+h

Das ist der Hub des Bots. Der Bot linkt sich automatisch mit dem Hub. Es kann auch mehrere geben. Der Bot linkt sich dann aber trotzdem nur zu einem.

+i

Wenn eine Verbindung mit diesem Bot hergestellt wurde, dann wird alles was die Party-Line-Chatter schreiben NICHT übertragen.

+l

Der Bot darf sich mit diesem Bot nicht linken.

+p

Die Userlist wird von diesem Bot empfangen.

+r

Keiner der Bots aus dem Botnet darf sich mit diesem Bot linken.

+s

Die Userlist wird zu diesem Bot gesendet.

Ich muss wohl nicht mehr erklären das man die Botflags mit .botattr setzt. Es gibt noch das globale User-Flag +u. Dieser Benutzer wird NICHT zu den anderen Bots bertragen.

6.4 Sonstige Befehle
Hier noch einige nützliche Befehle:

Befehl

Beschreibung

Beispiel

.botinfo

Zeigt Informationen von jedem Bot im Botnet.

 

.bots

Zeigt alle Bots an

 

.bottree

Eine schöne Darstellung des Botnets.

 

.chaddr <bot> <neue_adresse>

ndert die Adresse des Bots.

.chaddr Bot2 62.2.84.27:3333

.link [bot2] <bot1>

Verbindet zwei Bots. Wenn zwei Bots angegeben sind, dann verbindet es den ersten Bot mit dem zweiten Bot. Wenn nur ein Bot angegeben ist, dann wird der angegebene Bot zum Bot gelinkt, mit welchem du jetzt verbunden bist.

.link bot2 bot3

.unlink [bot2] <bot1>

Trennt die Verbindung des Bots. Sonst gleich wie oben (.link).

.unlink bot5

 

7 TCL-Scripts

7.1 Fertige Scripts herunterladen
Es gibt für Eggdrops sogenannte Scripts, mit welchem man die Funktionen vom Eggdrop fast unendlich erweitern kann. Du findest TCL-Scripts unter:
 
http://www.egghelp.org/tcl.shtml
http://mars.age.psu.edu/
 
Wenn du ein Script heruntergeladet hast, dann speicherst du es im Verzeichnis scripts, welches sich im Eggdropverzeichnis befindet. Anschliessend öffnest du das Config-File und fügst ganz hinten folgende Zeile ein, wobei scriptname natürlich für den Scriptnamen steht:
source scripts/scriptname.tcl
Dann tippst du in der Party-Line des Bots .rehash ein, damit die Änderungen wirksam werden. Schliesslich sollte das Script geladen sein. Wenn der Bot abstürzt dann entferne die soeben hinzugefügte Zeile und starte den Bot erneut. Das Script hatte wohl einen Fehler.
 
Wenn folgendes kommt:
[Zeit] TCL error [Prozedur]: Fehlermeldung
dann ist das Script auch fehlerhaft. Aber man kann es (vielleicht) noch benutzen.

7.2 Selber programmieren
Hier ist ein alter von mir angefangener TCL-Scripting-Kurs: http://www.eggdrop.ch/oldstuff/tcl.htm


Zurück zur Hauptseite
 
Letzte Änderung: 28.09.03
Copyright (C) 2003 by Thomas "tom" S. <tom at eggdrop.ch>
Valid HTML 4.0!

Dieser Text gehört zu www.eggdrop.ch und ist urheberrechtlich geschützt. Das Weitergeben und Kopieren dieses Textes ist erwünscht unter folgenden Bedingungen: 1. Der Text muss so sein wie er ist und darf in keiner Weise verändert oder in die eigene Homepage integriert werden. 2. Es muss ein deutlicher Hinweis auf die Herkunft (www.eggdrop.ch) vorhanden sein. 3. Der Text sollte wenigstens alle 3 Monate auf Updates überprüft werden (siehe die Versionsnummer ganz am Anfang des Textes!)