Badnick Koruması (Hash)
on *:start:{ $iif(!$isfile(badnick.tprk),.write badnick.tprk) | .hmake badnick 100 | .hload badnick badnick.tprk }
on @*:join:#:{
if $hfind(badnick,$nick,1,W).data {
mode # +b $nick
kick # $nick 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
if !$hget(bdnck,$nick) {
.hinc -msu20 bdnck $nick
msg #Opers [ JOIN ] $nick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick,1,W).data),$chr(32),])
}
}
}
on *:nick:{
if $hfind(badnick,$newnick,1,W).data {
msg #Opers [ NICK ] $newnick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$newnick,1,W).data),$chr(32),])
var %:c $regsubex($str(-,$comchan($newnick,0)),/./g, $iif($regex($nick($comchan($newnick,\n),$me).pnick,/(%|@|&|~\.)/i),$comchan($newnick,\n) $chr(32)))
var %c = 1 | while %c < = $token(%:c,0,32) {
mode $token(%:c,%c,32) +b $newnick | kick $token(%:c,%c,32) $newnick 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
inc %c
}
}
}
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 }
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 !$hfind(badnick,$strip($3),0,W).data { msg # Badnick listem'de $strip($3) ait bir mask yok. | return }
msg # Nick: $strip($3) - 4Mask: $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3),1,W).data),$chr(32),])
}
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 {
msg #Opers [ 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) 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
}
inc %:tara
}
}
}
Komut(lar):
!badnick ekle Nick (*?) Mask olarak ekleyebilirsiniz.
!badnick sil Nick
!badnick tara Nick Etkilenen nick'in maskını gösterir. (Nick: turgay - Mask: [ *gay ])
!badnick list
!tara #Kanal Belirlenen kanal'da badnick taraması yapar.
Badnick dosyası mirc klasorun(//run $mircdir) içine atınız.
badnick.tprk