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