Ocena wątku:
  • 43 głosów - średnia: 3.12
  • 1
  • 2
  • 3
  • 4
  • 5

..:: Pisanie własnego IRC-Bota ::..
#1

..:: 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.

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 http://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 ubawa

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 ubawa

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 póź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ł jezyk
Gdy wejdziemy na kanał na którym czuwa nasz bot wydajmy polecenie:

/msg nick_bota nasze_tajne_haslo

Gdy to wpiszemy i zaakceptujemy wciskając ENTER, otrzymamy status operatora.

"Tonący w kłamstwie, cynizmu się chwyta"
Hogan- Izabela
"Buzie widze w tym tenczu!"
Odpowiedz
#2

Właśnie, jutro będę tym się zajmował jeśli coś by było nie tak mogę liczyć na pomoc : )
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości