PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
# Hiç bir kanalda bulunmayan kullanıcıları sunucudan kill'lemeye yarayan tcl.
# Yapımcı SaW (Nebiliymben)
# Kaç saniyede bir who çeksin?
set skontrolzaman 300
# Kill mesajı ne olsun?
set killmesaji "Hiç bir kanalda bulunmadığınız için bağlantınız sonlandırılmıştır."
# Muaf tutacağınız nickler var mı?
set muafnickler {
"NickServ"
"ChanServ"
"OperServ"
"HelpServ"
"StatServ"
}
# eğer timer hiç başlatılmamışsa başlatalım
if {![string match "*status_kontrol*" [timers]]} {
utimer $skontrolzaman [list status_kontrol]
}
# her N saniyede bir sadece statüste bulunanları kontrol ettirelim
proc status_kontrol {} {
global skontrolzaman
putquick "who *"
# diğer 352 rawlarıyla karışmasın diye sadece burada bind açtırıyoruz.
bind raw - 352 skontrolac
utimer $skontrolzaman [list status_kontrol]
}
# End of /WHO list. raw cevabı sonrası eğer o raw az önce açtırdığımız bind sonucu ise, bu bind'ı unbind ettirelim.
bind raw - 315 skontrolkapa
proc skontrolkapa {a b c} {
if {![string match "*skontrolac*" [binds]} {return}
unbind raw - 352 skontrolac
}
# Who komutu sonucunda gelen nickler içerisinde hiç bir kanalda bulunmayan var mı bakalım..
proc skontrolac {hangiraw keyword degerler} {
global killmesaji muafnickler
if {![string match "*#*" [lindex $degerler 1]]} {
set wnick [lindex $degerler 5]
foreach mnick $muafnickler {
if {[string match -nocase $mnick $wnick]} {return}
}
putquick "kill $wnick $killmesaji"
}
}
putlog "coded By SaW"
Böyle birşey işini görür. Burada yazdım deneyemedim o yüzden, bir hatayla karşılaşırsan hata mesajını kopyala buraya yardımcı oluruz.