..:: Pisanie w³asnego IRC-Bota ::..

W obecnych czasach modn± rzecz± staje siê posiadanie w³asnego kana³u IRC. Ale jak wiadomo pocz±tkuj±cy fani zabezpieczeñ sieciowych (nie chcê tu u¿ywaæ s³owa lamerzy) uwielbiaj± prze¶cigaæ siê w rankingach "kto przejmie wiêcej takich kana³ów". W tym (choæ nie tylko) celu powsta³y boty internetowe.

Czym jest bot?

Bot to nic innego jak program/sckrypt napisany w taki sposób, aby pilnowa³ porz±dku na kanale i nie dopuszcza³ do przejêcia nad nim kontroli.

Jak stworzyæ w³asnego bota?

Najpro¶ciej do tego celu u¿yæ gotowych aplikacji takich jak eggdrop czy Void (oparty na eggdropie). Ja jednak bior±c pod uwagê to, ¿e nie ka¿dy ma dostêp do shella wyposa¿onego we wszystkie kompilatory, przedstawie proces tworzenia prostego (wrêcz prymitywnego) bota opartego o sesje BitchX.


Reklama


Co bêdzie nam potrzebne?

Przede wszystkim potrzebujemy konta shell z dostêpem do sieci IRC (niektóre darmowe konta nie maj± takiej mo¿liwo¶ci). Nastêpn± spraw± jest posiadanie zainstalowanego programu BitchX (mo¿na go ¶ci±gn±æ z www.bitchx.org). Gdy posiadamy ju¿ te wszystkie niezbêdne rzeczy, zaopatrzmy siê w jakiego¶ klienta SSH (np. putty pod windowsa - w linuxie s± standardowo obecne programy do obslugi ssh) dzieki któremu po³±czymy siê z naszym kontem shellowym.

Zaczynamy!

Na pocz±tku musimy po³±czyæ siê z naszym kontem shell. Gdy to zrobimy, tworzymy plik "bot.bx", a nastêpnie uruchamiamy dowolny edytor tekstu. Ja tobie to w ten sposob:

$ touch bot.bx
$ pico bot.bx

Teraz do pliku bêdziemy wpisywaæ g³owny "engine" naszego bota :)


Na pocz±tku ustalamy nick pod jakim nasz bot bêdzie widoczny w sieci IRC. NP:
/nick botek


Teraz ustalamy kanal na jakim ma siedziec bot:
/join #kanal


Wypada³oby, aby bot wchodzi³ automatycznie na kana³ po dostaniu kick'a oraz aby ³±czy³ siê z serwerem w przypadku zerwania po³±czenia. W tym celu dopisujemy kolejne linijki kodu:

/on disconnect * /server poznan.ircnet.pl ; /join #kanal
/set auto_rejoin 1


Jednym z najczêstszych zastosowañ bota jest funkcja "stra¿nika moralno¶ci".
Z tego w³a¶nie powodu, nasz bot bêdzie wyrzuca³ z kana³u ludzi, którzy pos³uguj± siê wulgarnym s³ownictwem.
Do naszego pliku dopisujemy kolejne linijki kodu:

/banword * cenzurowane_slowo
/banword * 2_cenzurowane_slowo
/banword * 3_cenzurowane_slowo
/banword * N_cenzurowane_slowo


Teraz nale¿y zabezpieczyæ bota przed atakai lamerow:


/set flood_protection on
/set kick_ops off
/set cloak 1
/set flood_kick on
/set pubflood on
/set deopflood on
/set nickflood on
/set joinflood on
/on ^flood "*" { /kick $C $0 Prosze nie floodowac! }


Ok. teraz wypada³oby, aby nasz bot dawa³ nam opa wtedy gdy wchodzimy na kana³.

Mo¿na by to za³atwiæ zda¿eniem "/on join" ale wtedy kto¶ móg³by podszyæ siê pod nasz nick i w ten sposób przej±æ nasz kana³. My pos³u¿ymy siê nieco bezpieczniejsz± metod±. Przy ka¿dym wej¶ciu na kana³ bêdziemy podawali naszemu botu has³o, dzieki któremu bot nas rozpozna.

Przyk³adowy kod mo¿e wygl±daæ tak:

/on msg "* moje_tajne_haslo" /mode $C +o $0


Teraz sprawimy, ¿e nasz bot bêdzie logowa³ wszystko, co dzieje siê na kanale.
Dopisujemy dwie kolejne linie kodu:

/window logfile kanal.txt
/window log on

My¶lê, ¿e na pocz±tek, to wiedza powinna wam wystarczyæ.

Stawianie bota na kanale

Jak wspomnia³em na pocz±tku tekstu, do postawienia bota potrzebne nam bêdzie konto shellowe. Gdy ju¿ je mamy, wchodzimy na nie przez dowolnego klienta SSH (np. Putty). Po zalogowaniu wydajemy poni¿sze polecenia:


$ screen
$ BitchX poznan.ircnet.pl nick_bota

Oczywi¶cie w miejsce poznan.ircnet.pl mo¿emy wpisaæ w³asny serwer IRC, a w miejsce nick_bota wpisujemy pseudonim pod którym bot bêdzie widoczny dla innych na kanale.


Po w³±czeniu programu bêdziemy musiêli poczekaæ kilka sekund na po³±czenie z serwerem.
Gdy po³±czenie zostanie nawi±zane, wydajemy polecenie:

/load bot.bx

Od tej chwili nasz bot jest aktywny :)

Bardzo wa¿na rzecz± jest, aby¶my nie zapomnieli nadaæ mu praw operatora kana³u, bo w przeciwnym wypadku, nie bêdzie on móg³ nikogo wykopaæ za z³e zachowanie, czy te¿ nie bêdzie móg³ daæ Ci statusu operatora gdy tego bêdziesz potrzebowa³.

Teraz musimy tylko pozostawiæ sesje bota na serwerze. Robimy to naciskaj±c kolejno: CTRL+D a po¼niej A. Mo¿emy ju¿ wylogowaæ siê ze shella.

Teraz przechodzimy na nasz kana³ (musimy byæ operatorem) i wydajemy polecenie:

/mode #nasz_kanal +o nick_bota

Od teraz bot jest gotowy do pracy, a my ju¿ nie musimy siê martwiæ o kana³ :P
Gdy wejdziemy na kana³ na którym czuwa nasz bot wydajmy polecenie:

/msg nick_bota nasze_tajne_haslo

Gdy to wpiszemi i zaakceptujemy wciskaj±c ENTER, otrzymamy status operatora.

I to ju¿ koniec mojego artyku³u.
Mam nadziejê, ¿e siê podoba³ :)

Autor: unknow (na serwerze) uw-team.org

Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!

  • dodaj do flakera
  • blipnij o tym
Kana³ RSS
Co na forum?
Jak odzyskaæ...
Pêtla foreach
poszukuje po...
Problem z fu...
poszukuje do...
ServerShell status: dzia³a
[zaló¿ konto]
Subskrypcja
Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail

RSS

Dodaj do Google