Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:start:{ $iif(!$isfile(badnick.tprk),.write badnick.tprk) | .hmake badnick 100 | .hload badnick badnick.tprk }
on *:join:*: {
if $read(muafnick.txt,w,$nick) { return }
if $regex($nick($chan,$me).pnick,[.~%&@]) && $hfind(badnick,$nick,1,W).data {
kick $chan $nick 1Nick değiştirip (/nick yeninick) tekrar kanala giriş yapabilirsiniz..
mode $chan +b $nick
}
}
on *:nick: {
if $read(muafnick.txt,w,$newnick) { return }
if $hfind(badnick,$newnick,1,W).data {
var %cht = $comchan($newnick,0)
while %cht {
if $regex(me,$nick($comchan($newnick,%cht),$me).pnick,[.~%&@]) && !$regex(newnick,$nick($comchan($newnick,%cht),$newnick).pnick,[.~%&@+]) {
ban -k $comchan($newnick,%cht) $newnick 2 Bilmem Sen Badnick misin ama Badnick listemde olduğun için banlandın bla bla bla...
}
dec %cht
}
}
}
on *:text:*:#: {
if $regex($1,/^[!\.]badnick$/Si) {
if $regex($2,/^ekle$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $hfind(badnick,$strip($3),0,W).data { msg # Eklemeye çalıştığınız badnick zaten $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),]) maskesi ile uyuşmakta. | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
var %n = $left($calc($ctime * $rand(1000,9999)),7)
.hadd -m badnick %n $strip($3)
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesine eklendi.
}
if $regex($2,/^s[ıiİ]l$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Bad nick listesinde bulunmamaktadir. | return }
.hdel -m badnick $hfind(badnick,$strip($3),1,W).data
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesinden silindi.
}
if $regex($2,/^tara$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Badnick listem'de $strip($3) ait bir mask yok. | return }
msg # Nick: $strip($3) - 4 Mask: $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),])
}
if ($2 == muaf) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # $3 muaf listesinden silindi. | write $+(-dl,$read(muafnick.txt,w,$3)) muafnick.txt | return }
msg # $3 muaf nick listesine eklendi.
write muafnick.txt $3
}
if $regex($2,/^l[ıiİ]st$/Si) {
if ($hget(badnick,0).data == 0) { msg # Badnick listesi boş. | return }
msg # Badnick listesi
msg # -
var %i = 1 | while (%i <= $hget(badnick,0).data) { msg # %i $+ .4) [ $hget(badnick,%i).data ] | inc %i }
msg # -
msg # Badnick listesi sonu
}
}
if $regex($1,/^[!\.]tara$/Si) {
if !$regex($2,/^#/Si) { msg # Lütfen #kanal belirtiniz | return }
if !$chan($2) { msg # $2 kanal'ında bulunmuyorum | return }
var %:tara = 1 | while %:tara <= $nick($2,0) {
if $hfind(badnick,$nick($2,%:tara),1,W).data && !$read(muafnick.txt,w,$nick($2,%:tara)) {
msg # [ TARAMA ] $nick($2,%:tara) nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick($2,%: tara),1,W).data),$chr(32),])
mode $2 +b $nick($2,%:tara) | kick $2 $nick($2,%:tara) 4 Badnick! 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
}
inc %:tara
}
msg # Toplam $nick($2,0) kişi için, $hget(badnick,0).data adet mask taraması yapıldı.
}
}
Nick eventinde $chan kullanılmıyor doğal olarak yeni nicke geçtiğinde hangi kanalda ne yetkisi var bilemez o yüzden $comchan kullanılmalı ortak kanallarda arama yapar. Kodun çalışması için kanalda en az @ olman gerek ek olarak nick değişip badnicke geçen kişinin voice dahil hiç bir yetkisi olmaması gerek.