;Badnick koruma modülü: ;Ayarlanabilir seçenekler ;Wildcard ile nick ekleyebilme ;Nick değiştirildiğinde tarama yapabilmesi ;Kickleme yerine sadece kanal girişinde nickin yanında (Uyar,Kick,Kick+ban) özellikleri. ;Wildcardlı direk girişte atabilme özelliği ;Kolay eklenip silinebilme ve kontrol özelliği kodumuzda mevcuttur. ;Kodu remotenize ekledikten sonra uygulayacağınız komut ; /yordam durum ;Hazır olarak badnickler eklenti şeklinde eklenmiştir. Kolaylıkla indirebilirsiniz , rardan cıkan badnick.mudin dosyasını root dizinine atmanız yeterlidir. ;Güncellemeler: ;Herhangi bir kanalda op olduğunuz otomatik kanaldaki badnickler taranıp , kanaldan atılıyor. ;Yeni bir koşul eklendi. /badtara #kanal kanalda manuel olarak badnick taraması yapabilmenizi sağlar. ;Yeni eklenen koşul yordam aliasına bağlandı , böylelikle otomatik olarak kanaldaki badnickleri belirlenen saniye aralığı ile listeleye bilirsiniz /yordam listele saniye #kanal. Bu listeleme zarfı siz /yordam listeleme #kanaladı yazana kadar sürer. #göster off on ^*:hotlink:*Uyarı*:#:return on ^*:hotlink:*Kick*:#:return on ^*:hotlink:*Kick+ban*:#:return on ^*:hotlink:*Badnick-Ekle*:#:return on *:hotlink:*:#:{ if $remove($1,$chr(40),$chr(41)) == Uyarı { var %line $gettok($strip($remove($gettok($strip($hotline),1,40),Giriş:)),2,93) notice %line %line kullanmış olduğunuz nick yasaklanmıştır. Eğer 60 saniye içinde nickinizi değiştirmezseniz kanaldan uzaklaştırılıcaksınız! $+(timer,$strip(%line)) 1 60 uzaklastir $chan %line Badnick yasaktır. Nickinizi değiştiriniz. } elseif $remove($1,$chr(40),$chr(41)) == Kick { var %line $gettok($strip($remove($gettok($strip($hotline),1,40),Giriş:)),2,93) kick $chan %line Badnick yasaktır. Nickinizi değiştiriniz. } elseif $remove($1,$chr(40),$chr(41)) == Kick+ban { var %line $gettok($strip($remove($gettok($strip($hotline),1,40),Giriş:)),2,93) mode $chan +b %line | kick $chan %line Badnick yasaktır. Nickinizi değiştiriniz. } elseif $remove($1,$chr(40),$chr(41)) == Badnick-Ekle { var %line $gettok($strip($remove($gettok($strip($hotline),1,40),Giriş:)),2,93) badnick ekle %line kick $chan %line Badnick yasaktır. Nickinizi değiştiriniz. } } on *:part:#:{ if $timer($nick) { timer $+ $nick off } } on *:quit:{ if $timer($nick) { timer $+ $nick off } } on ^*:join:#:{ .haltdef if $hfind(badnick,$nick,1,W).data { echo $chan $+(2[,$time,]) Giriş: 4 $+ $nick $+ 2 $remove($+($chr(40),$address($nick,1),$chr(41)),*,!) 5Badnick! 4(1Uyarı4) 10 4(1Kick4) 10 4(1Kick+ban4) } else { echo $chan $+(2[,$time,]) Giriş: $nick $remove($+($chr(40),$address($nick,1),$chr(41)),*,!) 4(1Badnick-Ekle4) } } #göster end #kickle off on *:join:#:{ if $hfind(badnick,$nick,1,W).data { uzaklastir $chan $nick Badnick yasaktır. Nickinizi değiştiriniz. } } #kickle end alias badnick { if $1 == ekle { if !$hfind(badnick,$2,1,W).data { hadd -m badnick $r(1000,999999) $2 hsave badnick badnick.mudin hload badnick badnick.mudin echo -a 10Badnick listesine $+(2,,$2,10) eklendi. } else { echo -a 10 $+(2,,$2,10) zaten badnick listesinde mevcut. } } elseif $1 == sil { if $hfind(badnick,$2,1,W).data { hdel badnick $ifmatch hsave badnick badnick.mudin hload badnick badnick.mudin echo -a 10 $+(2,,$2,10) badnick listemden silindi. } else { echo -a 10 $+(2,,$2,10) zaten badnick listemde yok. } } else { echo -a 10 Komutu yalnış kullandınız. echo -a 10 Örnek: 2 /badnick ekle nick* 10 gibi eklemelerinizde wildcard geçerlidir. } } on *:nick:{ if $hfind(badnick,$newnick,1,W).data { var %a = 1, %b = $comchan($newnick,0) while %a <= %b { if $me isop $comchan($newnick,%a) { mode $v2 +b $newnick kick $v2 $newnick Badnick yasaktır. Nickinizi değiştiriniz. } inc %a } } } alias uzaklastir { mode $1 +b $2 kick $1 $2 $3- } alias yordam { if $1 == göster { echo -a Artık badnckler kanalınıza girdiğinde fare ile manuel işlem yapabiliceksiniz. enable #göster hload badnick badnick.mudin } elseif $1 == kickle { echo -a Artık badnickler otomatik olarak atılıcaktır. enable #kickle hload badnick badnick.mudin } elseif $1 == durum { if !%ilkcalisma { hmake badnick set %ilkcalisma 1 } else { echo -a Sistemdeki yordamların durumu: echo -a Manuel Kontrol: $iif($group(#göster) == on,Aktif,Çalışmıyor) echo -a Otomatik Kontrol: $iif($group(#kickle) == on,Aktif,Çalışmıyor) echo -a Zamanlı listeleme: $iif(%listeleme == on,Aktif,Çalışmıyor) if $group(#kickle) == off && $group(#göster) == off { echo -a Şuanda kanalınız korunaksız. echo -a Herhangi birini açmak için: /yordam göster|kickle kullanabilirsiniz. echo -a Otomatik olarak badnick listelemek için: /yordam listele saniye #kanal kapatmak için /yordam listeleme #kanaladı şeklinde yapabilirsiniz. } elseif $1 == listele { if $2 && $3 { set %listeleme on $+(.timer,$2) 0 $3 badtara $2 echo -a Sistem artık $3 saniyede bir $2 kanalını badnick süzgecinden geçiricek. } } elseif $1 == listeleme { if $2 { set %listeleme off $+(.timer,$2) off echo -a $2 kanalı için badnick kontrolü durduruldu. } } elseif $1 == off { disable #kickle disable #göster echo -a Tüm yordamlar kapandı. Kanalınız korumasız durumda! } } else { echo -a Yalnış komut kullanımı. echo -a Lütfen /yordam durum komutunu kullanın. } } } alias badtara { if $1 { var %/ 1 while %/ <= $hget(badnick,*).item { if $hfind(badnick,$nick($1,%/),1,W).data { mode $chan +b $nick($1,%/) | kick $chan $nick($1,%/) Badnick yasaktır. Nickinizi değiştiriniz. } inc %/ } } } on *:op:#:$iif($opnick == $me,badtara $chan,return)