IRC
Bot - Eggdrop
Eggdrop
Aby postawić bota trzeba posiadać konto shellowe z możliwością stawiania botów (nie wszystkie konta mają taką możliwość). Jeżeli już masz konto, to musisz ściągnąć sobie bota np. eggdropa. Warto się zastanowić, czy chcesz postawić nowszą wersję zabierającą więcej pamięci ale za to z większą ilością opcji, czy starszą wersję zabierającą mniej pamięci.
[Jak postawić bota]
[Spis flag na bocie]
W poniższej tabeli znajduje się wykaz najważniejszych flag rozpoznawanych przez eggdropa.
Flaga Nazwa Opis działania a autoop user z flagą +a automatycznie dostaje opa po wejściu na kanał b bot flaga b jest flagą informującą bota, że inny user z flagą +b jest również botem c common flaga informująca o tym, że kilku userów ma takie same hosty d deop osoba z flagą +d nie może mieć opa na kanale f friend user z flagą +f jest przyjacielem kanału, więc nie może być wykopany oraz może zmieniać topic g autovoice user z flagą +g automatycznie po wejściu na kanał dostaje voica i isolate BOT z flagą +i jest izolowany tzn. odłączony od całęgo BOTnetu j janitor user z flagą +j może zgrywać pliki l leaf BOT z flagą +l nie pozwala na połączenie ze sobą usera m master user z flagą +m ma największą kontrolę nad BOTem n owner flaga +n zezwala na modyfikację wszystkich ustawień kanału o operator user z flagą +o jest operatorem kanału - może posiadać opa na kanale p party user z flagą +p może się łączyć z botem i ma dostęp do partyline r reject BOT z flagą +r nie może się łączyć z innymi botami botnetu t botnet master user z flagą +t ma absolutną władzę nad całym botnetem x xfer user z flagą +x może przeglądać i modyfikować pliki BOTa
Po pierwsze musisz ściągnąć sobie eggdropa na konto najprościej będzie jak klikniesz na link: eggdrop1.6.4.tar.gz i potem przegrasz sobie eggdropa na konto za pomocą ftp.
Gdy bot będzie już na koncie wydaj komendy:
tar -zxf eggdrop1.6.4.tar.gz
cd eggdrop1.6.4
./configure
Jak pojawi się napis "Configure is done." to możesz iść dalej. Pojawienie się komunikatu "I can't find Tcl on this system." oznacza niemożliwość postawienia eggdropa. Brakuje biblioteki TCL w systemie.
make config
make
Komenda ta rozpocznie kompilację eggdropa. Może potrwać trochę czasu. Jeżeli w trakcie kompilacji pojawi się komunikat "virtual memory exhausted" będzie to oznaczać, że masz za duże restrykcje co do zasobów pamięciowych serwera. Kompilacja eggdropa w tym wypadku jest nie możliwa. Podobnie jest z komunikatem "write failed, user disk limit reached." z tym, że oznacza przekroczenie limitu zapisu na dysku. W takim wypadku powinieneś, o ile to możliwe, zwolnić miejsce na dysku. Minimalna przestrzeń dysku aby skompilować eggdropa to 8MB.
make install
Po wydaniu tej komendy zostanie utworzony katalog eggdrop, w którym będzie się znajdował eggdrop wraz z wszystkimi modułami oraz standardowe skrypty i dokumentacja.
Teraz powinieneś stworzyć plik konfiguracyjny.
Wydaj komendę:
cp ~/bot/eggdrop.complete.conf ~/bot/robot
Nowy plik konfiguracyjny ma nazwę robot.
Plik ten musisz edytować, ustawiając wszystkie parametry nowego bota jak nick, username, serwery z jakimi będzie się łączył, kanały itd. Jest tego trochę dlatego jeżeli nie łącza stałego ściągnij ten plik na swój komputer za pomocą ftpa i po rozłączeniu go sobie edytuj.
Poniżej znajduje się przykładowa konfiguracja pliku:
Zmodyfikuj następujące ustawienia:
set username "username" - zamiast username wpisz swój identyfikator w danym systemie unixowym.
set admin "admin
set network "IRCnet" - lub inną sieć ircową z która bot będzie się łączył.
set timezone "CET"
Usuń linijki rozpoczynające się od logfile i wstaw:
logfile mbcxrowbth * "eggdrop.log"
logfile kjps #channel1 "channel1.log"
logfile kjps #channel2 "channel2.log"
logfile kjps #channel3 "channel3.log"
Linijki te definiują pliki z logami. Pierwsza oznacza logowanie wszystkich ważnych dla bota wydarzeń, a pozostałe to logowanie całości wydarzeń na kanale. Pamiętaj, że liczba tych plików musi być mniejsza bądź równa od liczby ustalanej zmienną max-logs standardowo 5.
set userfile "eggdrop.user" - lista userów.
listen 4444 all - zamiast 4444 wpisz wartość z przedziału od 1000 do 65535. Oznacza ona port telnetu pod którym bot ma przyjmować połączenia od innych botów oraz userów.
set owner "owner" - tu wpisz twój nick, pod którym będziesz figurował w bocie
Usuń linijkę die "Please edit your config file."
set chanfile "eggdrop.chan" - definiuje plik z ustawieniami kanałów.
Usuń wszystkie linijki definiujące kanały (zaczynające się od słowa channel) i aby dodać jakiś kanał wstaw:
channel add #channel1 {
chanmode "+nt-likm"
idle-kick 0
flood-chan 10:25
flood-deop 3:10
flood-kick 3:10
flood-join 5:60
flood-ctcp 3:60
}
channel set #channel1 -clearbans +enforcebans +cycle -dynamicbans +userbans
channel set #channel1 -autoop -bitch +greet +protectops -statuslog -seen
channel set #channel1 +stopnethack +revenge +autovoice -secret +shared +dontkickops
channel set #channel1 +userexempts +dynamicexempts +userinvites +dynamicinvites
channel set #channel1 -inactive -protectfriends -wasoptest
Opis modów kanału
set net-type 1 - Wstaw wartość odpowiadającą sieci, z którą bot ma się łączyć (0 - Efnet, 1 - IRCnet, 2 - Unernet, 3 - Dalnet)
set nick "Nick_Bota" - Tutaj wpisz nick bota.
set altnick "Nick_alt" - Tutaj wpisz zastępczy nick.
set realname "Tutaj wpisz dowolny tekst"
set servers {
warszawa.irc.pl:6667
wroclaw.irc.pl:6667
poznan.irc.pl:6667
krakow.irc.pl:6667
lublin.irc.pl:6667
}
Tutaj trzeba wstawić listę serwerów, z którymi bot ma się łączyć. (Wyżej wymienione serwery należą do sieci IRCNet - najpopularniejszej sieci ircowej w Polsce. Jednakże za postawienie bota grozi na nich K-Line)
set server-timeout 30
loadmodule transfer - (usuń komentarz - czyli znaczek '#')
set xfer-timeout 300
loadmodule share - (usuń komentarz - czyli znaczek '#')
set notefile "eggdrop.notes" - plik z wiadomościami między userami.
Usuń linijkę die "You didn't edit your config file like you were told, did you?"
checkmodule blowfish - (usuń komentarz - czyli znaczek '#')
Po skonfigurowaniu bota na koncie wydaj komendę:
./eggdrop -m robot
Po krótkiej chwili bot powinien pojawić się na ircu. Pierwsza osoba, która wyda komendę hello botowi na mesgu zostanie ownerem Odrazu jak bot pojawi się na irc wydaj komendę:
/msg nickbota hello
/msg nickbota pass twojehaslo
Przy następnym uruchomieniu bota parametr -m należy pominąć.