Cevap: Socket Bot.
bazende izlemek gerekir anlatmakla olmaz sen bunu kendince, kafanda mantıklar kurarak yapmalı ve öğrenmelisin, parametrelerin anlamlarını bilmediğin sürece yapamazsın saten istediğin sock botun %80 kodu yukarıda mevcut.
balık tutmak için bile farklı yem kullanılır sazana ayrı kefale ayrı.. sen bu yemleri bilmesen ben sana git sazan yemi getir desem nerden bileceksin hangisinin hangi balığın yemi olduğunu? Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. onun için ilk önce öğrenmek sonrada yapmak gerekir..
yukarıdaki kodu biraz açıkladım..
; Botun Rapor Vericeği Kanal
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy
alias kanallar return #deneme
; Botun Nicki
alias botnick return CIP
; Botun Full Namesi
alias botfullname return Socket` System
; Botun Identd Adresi
alias botidentd return KELEBEK
; Botun Bağlanıcağı Serverin IP Adresi
alias botserverip return irc.kelebek.org
; Botun Bağlanıcağı Serverin Portu
alias botserverport return 6667
; Botun Quit Mesajı
alias botquitmsg return osman
;bağlantı komutu
alias bagla {
;botu ircten çıkartmak için kullanılan komut
komut quit $botquitmsg
;sock (bot) u çıkart
sockclose bot
;sock botu bağla
sockopen bot $botserverip $botserverport
}
;sock bot bağlandığında yapılacaklar
on *:sockopen:bot:{
;sock hatalı ise mesaj bildir
if ($sockerr) { echo -s Bağlantı kesildi | return }
;girilecek bot nicki
komut NICK $botnick
;botun identi
komut USER $botidentd * * : $+ $botfullname
sockmark $sockname YEah
}
;botun okuduklarını çevirme
on *:sockread:bot:{
;hata mesajını görüntüle
if ($sockerr) { echo -s Bağlantı Kesildi | return }
;variables değeri oluşturup bu değerleri okutma
var %; | sockread %; | tokenize 32 %;
;ciprix komutu $1-
ciprix $1-
;rawları okuduğunda yapılacak işlemler
if $2 == 376 || $2 == 422 {
komut join $kanallar
komut join $raporchan
komut list
}
}
;komut komutu / eğer sock bot bağlıysa belirtilen komutu uygula
alias komut { if $sock(bot) { sockwrite -n bot $1- } }
;ciprix komutu
alias ciprix {
;eğer sock (bot) varsa
if $sock(bot) {
;version/time/ping çekildiğinde işlenecek komutlar
var %: = echo $color(info) -st > Socket bot:
if :VERSION iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION Bot $+ $chr(1) }
if :FINGER iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Bot $+ $chr(1) }
if $1 == PING { komut PONG $2- }
}
;özele mesaj geldiğinde işlenecek komutlar
if $2 == PRIVMSG {
;!ban komutu parametreleri
if $4 == :!ban && $5 && $6 {
var %i = 1
set %::bnick $6
while (%i <= $gettok($5,0,44)) {
komut chanserv akick $gettok($5,%i,44) add %::bnick
komut chanserv akick $gettok($5,%i,44) enforce
komut chanserv akick $gettok($5,%i,44) del %::bnick
inc %i
}
}
}
;kanala mesaj geldiğinde işlenecek komutlar
if $2 == PRIVMSG && *#* !iswm $3 {
komut privmsg ıosman < $gettok($1,1,33) > $4-
}
;gir komutu parametreleri
if *!gir* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !gir #***
}
else {
komut privmsg osman $5 kanalına girmiş bulunmaktayım
komut join $5
}
}
;!cik komutu parametreleri
if *!cik* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !cik #***
}
else {
komut privmsg osman $5 kanalından çıkmış bulunmaktayım
komut part $5
}
}
;tara komutu parametreleri
if *!tara* iswm $3- {
if $5 == $null {
komut privmsg osman kanal belirtin ÖRN: !tara #d-bana
}
else {
komut privmsg osman $5 kanalına tarama yapildi
komut tara $5
}
}
} |