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.

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 " - wpisz tutaj siebie oraz swój email.
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ąć.

[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

[Jak postawić bota] [Spis flag na bocie]