Tekil Mesaj gösterimi
Alt 31 Mayıs 2008, 02:47   #4
Çevrimdışı
aLieN
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Sock Botu Proxy İle Bağlamak




öncelikle bir alias oluşturmamız gerekiyor, bu alias ile bağlanılcak domain ve portu belirtilir.
kullanımı => alias alias-ismi sockopen sock-ismi link port

daha sonra bot socket üzerinden okutulur. sockopen eventı burda kullanılır. anlamı socket açılınca anlamındadır. botu sunucuya bağlamak için bot'un bir realname(fullname,setname), bir ident ve bir nicki olması gerekiyor. bunları sockopen eventı ile sunucuya yolluyoruz.
kullanımı => on *:sockopen:sock-ismi: { komutlar }
nick ident vs.. =>
nick bot-ismi
user yeni-ident ** * yeni-fullname


sunucuya gönderceğiniz bilgiler sonlanmış ise $crlf kullanılır.
daha sonra sunucu size gerekli cevapları yollar. bunları okumak için sockread eventı kullanılır.
kullanımı => on *:sockread:sock-ismi: { komutlar }

Örnek bir bot olarak ;

alias abc sockopen x irc.mircturk.com 6667
on *:sockopen:x: {
var %a sockwrite -n $sockname
%a nick deneme1
%a user Matthys ** * duvarı aşamıyorsan bir kapı aç.
}
on *:sockread:x: {
var %a sockwrite -n $sockname
var %b
sockread %b
tokenize 32 %b
if ($1 == ping) { %a pong $2 }
}


Kodu ekledikten sonra ; /abc
yapman yeterli olcaktır.
/abc komutundan sonra ki görüntü ;
deneme1 is
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
* duvarı aşamıyorsan bir kapı aç.


herzaman kodu /abc yazmak istemiyorsan ;
on *:start: { /abc }
mIRC programını açtığın zamanlarda tekrar /abc yapmana gerek kalmaz.

botu tekrar çıkartmak için ; /sockclose sock-ismi
burda ki örnek ; /sockclose x

Bu satırların açıklamaları ;

Satır 1 : /abc yazıldığında sock ismi x olmak üzere irc.mircturk.com linkine 6667 portu ile bağlan.
Satır 2 : x adlı socket açıldığı zaman
Satır 3 : %a değişkenini "sockwrite -n $sockname" komutuna sabitle
Satır 4 : %a değişkeni artık "sockwrite -n $sockname" olarak işlev görcektir. Satırın anlamı ise botun nickini "deneme1" yap. ( sockwrite -n $sockname nick deneme1 de olabilirdi. )
Satır 5 : botun identiniz "Matthys" ve fullname'ini "duvarı aşamıyorsan bir kapı aç." yap.
Satır 6 : sockopen eventını sonlandır.
Satır 7 : x adlı sock'a sunucu cevap vermeye başladığında ve bunlar okunmaya başlandığında
Satır 8 : %a değişkenini "sockwrite -n $sockname" komutuna sabitle.
Satır 9 : bir %b değişkeni belirle
Satır 10 : 9. satırda belirtilen %b değişkenini sunucudan verilen cevaplara sabitle
Satır 11 : bu %b değişkenini raw değerlerine parçala
Satır 12 : eğer ki sunucudan gelen ilk kelime "ping" ise sen buna pong olarak cevap ver.
Satır 13 : sunucudan okunan veriler hakkında yapcak başka bir işlem yok, eventı kapat.

NOT : Satır 12. de görüldüğü gibi bota ping atan kişiye pong olarak cevap gitcektir. bu satırı eklemediğin taktirde bot düşücektir.

bu sadece işlevsiz bir bot oldu. bunları eventlar ile zenginleştirebiliriz. umarım yeteri kadar açıklayıcı oldu. kolay gelsin.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet