Birde şöyle birşey düşündüm ip, port, şifre vs siz uğraşmayın sadece radyonun kurulu olduğu dizini belirtin bot kendisi bilgileri bulup yapsın gereken işlemi
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Tcl de editlenmesi gereken sadece iki bölüm var birincisi dosya_adresi ikicisi komutun kullanılabileceği kanal. Bunlar dışında bi yeri kurcalamıyoruz. Botu çalıştırdıktan sonra belirtilen kanalda !kickradyo komutu ile radyonuzu kickleyebilirsiniz. Kolay gelsin
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Kod: Kodu kopyalamak için üzerine çift tıklayın!
## Buraya radyonun kurulu olduğu dizinde "sc_serv.conf" un yerini belirtiyoruz.
set dosya_adresi "../radyo/sc_serv.conf"
## Buraya komutun geçerli olacağı kanalı yazıyoruz.
set kickkanal "#dj"
## Başkada birşeye dokunmuyoruz. Gerisini ben hallederim ;)
bind pub - !kickradyo kickradyo
proc kickradyo {nick host handle chan arg} {
global dosya_adresi kickkanal
if {$chan != $kickkanal} {return 0}
set dosya [open $dosya_adresi r]
set liste [split [subst -nocommands [read $dosya]] "\n"]
regexp -- {DestIP=(.+?) Yport, port to connect to} $liste - ip
regexp -- {PortBase=(.+?) Optional Parameters} $liste - port
regexp -- {Password=(.+?) PortBase. This is} $liste - pass
regexp -- {AdminPassword=(.+?) AutoDumpUsers controls whether} $liste - adminpass
close $dosya
set sock [socket [duzelt $ip] [duzelt $port]]
puts $sock "GET /admin.cgi?pass=[duzelt $pass]&mode=kicksrc&pass=[duzelt $adminpass] HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $ip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
close $sock
}
proc duzelt { a } {
regsub -all {\}} $a "" a
regsub -all {\{} $a "" a
regsub -all {\;} $a "" a
regsub -all {\*} $a "" a
regsub -all " " $a "" a
return $a
}
######kickradyo.tcl#########
## Coded By BuCaLI #
############################