#1
|
|||
|
|||
Kanal için bazı korumalar.(Ayarlanabilir)
Açık söylemek gerekirse, forumda bir kaç kişi koruma yazmamı istemişti.
Bende bugün boş vaktim olduğu için, bir kaç koruma yazıp derledim. Sanırım işinize yarayan kodlar olacak. - - Alias kullanımları ve açıklamaları - Indetifier(lar) içinde "ok" kelimesi neden var? Diyenlere; Identifier içinde, "ok" kelimesinin manası, kullanıcıyı tüm kanallardan uzaklaştırmaktır. Eğer "ok" kelimesini eklemezseniz, sadece işlev yaptığı kanal'dan banlıyacaktır.
Örnek kullanım: $rpt(#,$nick,$1-,10,5,ok) Korumanın mantığı: Kanal geneline herhangi bir kullanıcı, belirlediğiniz saniye içerisin'de, AYNI yazıyı belirlediğiniz limit kadar veya fazlası tekrar ederse, kullanıcıyı kanal(lar)dan uzaklaştırılır.
Örnek kullanım: $lns(#,$nick,5,3,ok) Korumanın mantığı: Kanal geneline herhangi bir kullanıcı, herhangi bir text'i belirlediğiniz saniye içerisin'de, belirlediğiniz miktar veya fazlası gönderirse, kullanıcıyı kanal(lar)dan uzaklaştırılır.
Örnek kullanım: $bdwrd(#,$nick,$1-,ok) Korumanın mantığı: Kanal geneline herhangi bir kullanıcı, badwords.txt içerisin'deki kelimelerden herhangi birisini gönderirse, kullanıcıyı kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $rndm-t(#,$nick,$1-,100,10,ok) Korumanın mantığı: Kanal geneline herhangi bir kullanıcı, belirlediğiniz limit'e eşit veya fazlası uzunlukta bir yazı gönderdiğinde ve bu yazıdaki sesli harf sayısı, belirlediğiniz limit'den az olduğu taktirde, kullanıcıyı kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $uppr-t(#,$nick,$1-,50,ok) Korumanın mantığı: Kanal geline herhangi bir kullanıcının gönderdiği text içerisin'de, belirlediğiniz %(yüzde) miktarda büyük harf veya fazlası mevcut ise, kullanıcıyı kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $nmbr-t(#,$nick,$1-,75,ok) Korumanın mantığı: Kanal geline gönderilen text'de, belirlediğiniz %(yüzde) miktarına eşit veya fazlası rakam bulunuyorsa, kullanıcıyı kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $earful(#,$nick,$1-,20,ok) Korumanın mantığı: Kanal geneline gönderilen text'de aynı harf, belirlediğiniz miktar veya fazlası uzatılırsa, kullanıcıyı kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $clon(#,$nick,3,ok) Korumanın mantığı: Kanal'a giriş yapan kullanıcının host adresinden, kanal'da belirlediğiniz miktar veya fazlası bulunuyorsa, kullanıcı(ları) kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $spd-jn(#,$nick,10,5,ok) Korumanın mantığı: Bulunduğunuz veya belirlediğiniz kanal'da, belirlediğiniz saniye içerisinde, yine belirlediğiniz miktarda giriş yapılırsa, giriş yapan kullanıcıların TÜMÜNÜ, kanal(lar)dan uzaklaştırırsınız.
Örnek kullanım: $bdnck($nick) Korumanın mantığı: Kanal'a giriş yapan veya rumuz değiştiren bir kullanıcı, badnick.txt içerisin'deki kelimelerden herhangi birisini içerirse, kullanıcıyı tüm kanallardan uzaklaştırırsınız.
Örnek kullanım: $rndm-n($nick,4) Korumanın mantığı: Kanal'a giriş yapan veya rumuz değiştiren bir kullanıcının, nick'inde; sıfır(0) sessiz harf ve/ya belirlediğiniz miktar'a eşit yada fazlası x/w/z/q harflerinden ve/ya rakam mevcut ise, kullanıcıyı tüm kanallar'dan uzaklaştırırsınız. - Aliaslar - Kod:
alias -l all var %s 1 | while (%s <= $comchan($1,0)) { if ($count($nick($comchan($1,%s),$me).pnick,@,&,~,%) != 0 || $regex($usermode,o|A|a|C|N)) { ban -k $comchan($1,%s) $1 2 $2- } | inc %s } alias -l rpt { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { hinc $+(-mu,$4) rpt $+($1,½,$2,$encode($3)) 1 } if ($hget(rpt,$+($1,½,$2,$encode($3))) >= $5) { hdel rpt $+($1,½,$2,$encode($3)) | if ($6 != ok) ban -k $1 $2 2 $3 saniye'de, $5 tekrar. | else all $2 $4 saniye'de, $5 tekrar. }}alias -l lns { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { hinc $+(-mu,$3) lns $+($1,½,$2) 1 } if ($hget(lns,$+($1,½,$2)) >= $4) { hdel lns $+($1,½,$2) | if ($5 != ok) ban -k $1 $2 2 $3 saniyede, $4 satır text gönderdiniz. | else all $2 $3 saniyede, $4 satır text gönderdiniz. }}alias -l bdwrd { if ($2 isreg $1) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { var %q = 1 | while %q <= $lines(badwords.txt) { if $regex($3,$read(badwords.txt,%q)) { if ($4 != ok) ban -k $1 $2 2 yasak kelime sebebi. | else all $2 yasak kelime sebebi. | break } | inc %q } }}alias -l rndm-t { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { if ($len($3) >= $4 && $regex($3, /[aAeEuUüÜiİıIoOöÖ]/gi) < $5) { if ($6 != ok) ban -k $1 $2 2 gönderdiğiniz $4 uzunluğundaki text'de, $5 adet'den az sesli harf mevcut. | else all $2 gönderdiğiniz $4 uzunluğundaki text'de, $5 adet'den az sesli harf mevcut. } }}alias -l uppr-t { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { var %& $len($3) | if ($int($calc($regex($3, /[A-Z]/g)*100/%&)) >= $4) { var %l $v1 | if ($5 != ok) ban -k $1 $2 2 gönderdiğiniz text'de % %l oranında büyük harf mevcut. | else all $2 gönderdiğiniz text'de % %l oranında büyük harf mevcut. } }}alias -l nmbr-t { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { var %% $len($3) | if ($int($calc($regex($3, /[[:digit:]]/g)*100/%%)) >= $4) { var %&& $v1 | if ($5 != ok) ban -k $1 $2 2 gönderdiğiniz text % %&& oranında rakam bulundurmakta. | else all $2 gönderdiğiniz text % %&& oranında rakam bulundurmakta. } }}alias -l earful { if ($count($nick($1,$2).pnick,@,&,%,~,+) == 0) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { if ($regex($3, /([[:print:]])\1/gi) >= $4) { var %o $v1 | if ($5 != ok) ban -k $1 $2 2 gönderdiğiniz text'de herhangi bir harf'den, $calc(%o *2) adet mevcut. | else all $2 gönderdiğiniz text'de herhangi bir harf'den, $calc(%o *2) adet mevcut. } }}alias -l spd-jn { if ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { hadd $+(-mu,$3) $1 $2 1 } if ($hget($1,0).item >= $4) { var %1 1 | while (%1 <= $hget($1,0).item) { if ($5 != ok) ban -k $1 $hget($1,%1).item 2 $3 saniye içerisin'de, $4 adet'den fazla hızlı giriş tespit edildi. | else all $hget($1,%1).item $3 saniye içerisin'de, $4 adet'den fazla hızlı giriş tespit edildi. | inc %1 } } }alias -l clon { if (!$regex($ialchan($address($2,2),$1,1),admin|oper|helper|yardimci|aop|op)) && ($count($nick($1,$me).pnick,@,&,~,%) != 0) || $regex($usermode,o|A|a|C|N) { if ($ialchan($address($2,2),$1,0) >= $3) { var %c 1,%a = $gettok($ialchan($address($2,2),$1,1),2,64) | while %c <= $ialchan($address($2,2),$1,0) { if ($4 != ok) ban -k $1 $gettok($ialchan($address($2,2),$1,%c),1,33) 2 %a adresinden, $3 adet'den fazla clon tespit edildi. | else all $gettok($ialchan($address($2,2),$1,%c),1,33) 2 %a adresinden, $3 adet clon tespit edildi. | inc %c } } }}alias -l bdnck var %p 1 | while (%p <= $lines(badnick.txt)) { if ($regex($1,$read(badnick.txt,%p))) { all $1 yasaklı rumuz tespit edildi. | break } | inc %p }alias -l rndm-n if ($regex($1, /[aAeEuUüÜiİıIoOöÖ]/gi) == 0 || $regex($1,/x|w|z|q|[0-9]/gi) >= $2) { all $1 random nick tespit edildi. } /all alias'ı kullanıcıyı tüm kanallar'dan banlamak için kullanılır. Yukarı'da dediğim gibi, identifier içerisine eğer "ok" yazarsanız, kullanıcıyı tüm kanallar'dan banlarsınız. Yazmazsanız, sadece işlev yaptığı kanal'dan banlarsınız. Bu özellik, badnick ve random nick korumaları için geçerli değildir. Kullanıcıyı kanal'dan banlamak için, kullanıcının kanal'da yetkili olmaması gerekmektedir. Zaten normalide budur. Sizin banlama yetkisine sahip olabilmeniz için, kanal'da yetkili konumunda olmanız veya kendi kullanıcı modunuz'da($usermode) "aACNoO" flaglarını bulundurmanız gerekmektedir. Örnek kullanımlar: Kod:
on *:text:*:#: { $rpt(#,$nick,$1-,10,5,ok) $lns(#,$nick,1,3) $bdwrd(#,$nick,$1-) $rndm-t(#,$nick,$1-,50,10,ok) $uppr-t(#,$nick,$1-,50,ok) $nmbr-t(#,$nick,$1-,60) $earful(#,$nick,$1-,15,ok)}on !*:join:#: { $clon(#,$nick,5) $spd-jn(#,$nick,10,4) $bdnck($nick) $rndm-n($nick,3)}on !*:nick: { $bdnck($newnick) $rndm-n($newnick,3)} |