IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  odeaweb
>
+
Etiketlenen Kullanıcılar

20Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 02 Şubat 2017, 13:09   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
küfür koruması regex|wildcard gelişmiş




[Güncelleme]
Bir öncekinin geliştirilmiş hali..
Dialog pencere vs. yapmaya zaman bulamadım bulursam yaparım..

Kullanımı:
REGEX eklemek için
/Bw +r (g[o0]g*[Il][e3]\sy[a4]z) zline
silmek için
/Bw -r (g[o0]g*[Il][e3]\sy[a4]z)

WILDCARD eklemek için
/Bw +w *g??gle* kickban
silmek için
/Bw -w *g??gle*

ekleyeceğiniz kelimenin eşleşebileceği bir kayıt varmı kontrol için
/bw ? google
şeklinde kontrol edebilirsiniz.


yasaklayacagınız kelimenin tipini ve uygulanacak cezayı opsiyonel ekleyebilirsiniz
"google" kelimesini zline atmak isteyebilir ancak "denyo" kelimesini yalnızca banlamak isteyebilirsiniz.
her kelime için aynı ceza yerine kelimelerin tipine göre ceza uygulayabilirsiniz bununla ilgili kısaltmalar
yada tek kelimelik özel kambinasyonlar yapababilirsiniz (Kickban yerine KB gibi) ancak entegre ederken
bu kelimeyi dikkate almalısınız (uygulama kodundaki mavi satırlar)
mesela eklediginiz kelimede hem kickban hem kline hemde nick yasaklayacaksınız.. buna göre ExData için bir kelime
belirlediniz. KB_K_Q
buna göre koşullandırabilirsiniz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if %p` == KB_K_Q { ban -k # $nick sebep! kline $nick sebep! qline $nick sebep! }

eğer hangi eşleşme sebebiyle atıldığını görmek isterseniz de

"echo # $nick %p~ kelimesinden dolayı atıldı"
gibi %p~ ile görüntüleyebilir yada sebeplere ekleyebilirsiniz..

geçerli ExData KickBan'dır b:def fonksiyonundan değiştirilebilir.

diyelimki herhangi bir uygulama tipi kullanmayacaksınız..
standart bir ceza yönteminiz var..
bu durumda da
if ($bw($1-).?) { ban -ku600 # $nick 2 küfür yasaktır! }
kodu yeterli olacaktır..

Uygulama örnegi;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:TEXT:*:#: { if $me isop $chan { if ($bw($1-).?) { var %p~ $gettok($v1,-1,32),%p` $gettok($v1,1,32) ban -ku600 # $nick 2 küfür yasaktır! $v1 if %p` == kickban { ban -ku600 # $nick 2 küfür yaraktır! echo 4 # $nick $qt(%p`) yasaklı kelimeyi kullandı! } } } }

Badword Kodu:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:start: b:load alias b:def return $iif($1,$1,KickBan) alias b:save hsave br~ -i badword.db | hsave bw~ -i badword.db alias b:load { if !$hget(bw~,0) || !$hget(br~,0) { hmake bw~ 10000 | hload bw~ -i badword.db hmake br~ 10000 | hload br~ -i badword.db } } alias bw { if $regex($1,/([-+][wr])/) && $2 && $b:def($3) { if $1 == +r { if $hget(br~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m br~ $2 $b:def($3) | echo 3 ** Kelime eklendi | return } if $1 == -r { if $hget(br~,$2) { hdel br~ $2 | echo 4 ** Kelime silindi | return } else echo 4 ** Kelime bulunamadı | return } if $1 == +w { if $hget(bw~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m bw~ $2 $b:def($3) | echo 3 ** Kelime eklendi | return } if $1 == -w { if $hget(bw~,$2) { hdel bw~ $2 | echo 4 ** Kelime silindi | return } else echo 4 ** Kelime bulunamadı | return } b:save } if $1 == ? { noop $hfind(br~,$2,0,R,echo -a Regex: $1-) | noop $hfind(bw~,$2,0,W,echo -a WildCard: $1-) } elseif $prop == ? { var %r~ = $gettok($1-,0,32) while %r~ { if ($hfind(br~,$gettok($1-,%r~,32),0,R,var %i $1)) return $hget(br~,%i) %i | dec %r~ } var %w~ $gettok($1-,0,32) while (%w~) { if ($hfind(bw~,$gettok($1-,%w~,32),0,W,var %i $1)) return $hget(bw~,%i) %i | dec %w~ } } else { echo 5 *** hatalı ve eksik parametre echo 5 * /bw [+|-][W|R]? (wildcard|regex|kontrol) [wildcard|regex|text] <opsiyonel ExData: [Kick|kickban|zline|glizne|sqline..]> echo 5 * orn: /bw +r ([pb][i!İı1][cç\[]) echo 5 * orn: /bw +r (\b[pb][i!I1İü][çc]\b) ban echo 5 * orn: /bw +w *bitch* kickBan echo 5 * orn: /bw +w *g0ogle* kill echo 5 * orn: /bw ? bitch } }


7
IrCbaStarD, Med Cezir, Carpediem ve 4 kişi daha bunu beğendi
__________________
2b|!2b=? ~ mircscripting.net
 
Alıntı ile Cevapla

Alt 05 Şubat 2017, 15:16   #2
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: küfür koruması regex|wildcard gelişmiş




CoCoRiCo Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
[Güncelleme]
Bir öncekinin geliştirilmiş hali..
Dialog pencere vs. yapmaya zaman bulamadım bulursam yaparım..

Kullanımı:
REGEX eklemek için
/Bw +r (g[o0]g*[Il][e3]\sy[a4]z) zline
silmek için
/Bw -r (g[o0]g*[Il][e3]\sy[a4]z)

WILDCARD eklemek için
/Bw +w *g??gle* kickban
silmek için
/Bw -w *g??gle*

ekleyeceğiniz kelimenin eşleşebileceği bir kayıt varmı kontrol için
/bw ? google
şeklinde kontrol edebilirsiniz.


yasaklayacagınız kelimenin tipini ve uygulanacak cezayı opsiyonel ekleyebilirsiniz
"google" kelimesini zline atmak isteyebilir ancak "denyo" kelimesini yalnızca banlamak isteyebilirsiniz.
her kelime için aynı ceza yerine kelimelerin tipine göre ceza uygulayabilirsiniz bununla ilgili kısaltmalar
yada tek kelimelik özel kambinasyonlar yapababilirsiniz (Kickban yerine KB gibi) ancak entegre ederken
bu kelimeyi dikkate almalısınız (uygulama kodundaki mavi satırlar)
mesela eklediginiz kelimede hem kickban hem kline hemde nick yasaklayacaksınız.. buna göre ExData için bir kelime
belirlediniz. KB_K_Q
buna göre koşullandırabilirsiniz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if %p` == KB_K_Q { ban -k # $nick sebep! kline $nick sebep! qline $nick sebep! }

eğer hangi eşleşme sebebiyle atıldığını görmek isterseniz de

"echo # $nick %p~ kelimesinden dolayı atıldı"
gibi %p~ ile görüntüleyebilir yada sebeplere ekleyebilirsiniz..

geçerli ExData KickBan'dır b:def fonksiyonundan değiştirilebilir.

diyelimki herhangi bir uygulama tipi kullanmayacaksınız..
standart bir ceza yönteminiz var..
bu durumda da
if ($bw($1-).?) { ban -ku600 # $nick 2 küfür yasaktır! }
kodu yeterli olacaktır..

Uygulama örnegi;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:TEXT:*:#: { if $me isop $chan { if ($bw($1-).?) { var %p~ $gettok($v1,-1,32),%p` $gettok($v1,1,32) ban -ku600 # $nick 2 küfür yasaktır! $v1 if %p` == kickban { ban -ku600 # $nick 2 küfür yaraktır! echo 4 # $nick $qt(%p`) yasaklı kelimeyi kullandı! } } } }

Badword Kodu:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:start: b:load alias b:def return $iif($1,$1,KickBan) alias b:save hsave br~ -i badword.db | hsave bw~ -i badword.db alias b:load { if !$hget(bw~,0) || !$hget(br~,0) { hmake bw~ 10000 | hload bw~ -i badword.db hmake br~ 10000 | hload br~ -i badword.db } } alias bw { if $regex($1,/([-+][wr])/) && $2 && $b:def($3) { if $1 == +r { if $hget(br~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m br~ $2 $b:def($3) | echo 3 ** Kelime eklendi | return } if $1 == -r { if $hget(br~,$2) { hdel br~ $2 | echo 4 ** Kelime silindi | return } else echo 4 ** Kelime bulunamadı | return } if $1 == +w { if $hget(bw~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m bw~ $2 $b:def($3) | echo 3 ** Kelime eklendi | return } if $1 == -w { if $hget(bw~,$2) { hdel bw~ $2 | echo 4 ** Kelime silindi | return } else echo 4 ** Kelime bulunamadı | return } b:save } if $1 == ? { noop $hfind(br~,$2,0,R,echo -a Regex: $1-) | noop $hfind(bw~,$2,0,W,echo -a WildCard: $1-) } elseif $prop == ? { var %r~ = $gettok($1-,0,32) while %r~ { if ($hfind(br~,$gettok($1-,%r~,32),0,R,var %i $1)) return $hget(br~,%i) %i | dec %r~ } var %w~ $gettok($1-,0,32) while (%w~) { if ($hfind(bw~,$gettok($1-,%w~,32),0,W,var %i $1)) return $hget(bw~,%i) %i | dec %w~ } } else { echo 5 *** hatalı ve eksik parametre echo 5 * /bw [+|-][W|R]? (wildcard|regex|kontrol) [wildcard|regex|text] <opsiyonel ExData: [Kick|kickban|zline|glizne|sqline..]> echo 5 * orn: /bw +r ([pb][i!İı1][cç\[]) echo 5 * orn: /bw +r (\b[pb][i!I1İü][çc]\b) ban echo 5 * orn: /bw +w *bitch* kickBan echo 5 * orn: /bw +w *g0ogle* kill echo 5 * orn: /bw ? bitch } }


Merhaba,

korumayı denediğimde açılışta; ..ScRipT\-i' (line 21, KufurZline) hatası alıyorum açtıktan sonra yani sunucuya girdikten sonrada; * Invalid parameters: $hfind (line 49, KufurZline)

line 21 : hmake bw~ 10000 | hload bw~ -i badword.db
line 49 : while %r~ { if ($hfind(br~,$gettok($1-,%r~,32),0,R,var %i $1)) return $hget(br~,%i) %i | dec %r~ }

dosya oluşturamıyor diye düşündüm dosya oluşturdum attım scriptin klasörünü yine olmadı nerde eksiklik var çözemedim.

Teşekkürler

 
Alıntı ile Cevapla

Cevapla

Etiketler
koruması, küfür, regex, wildcard


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
küfür koruması. Skys mIRC Scripting Sorunları 6 22 Mart 2011 06:36
Küfür Koruması GuneL mIRC Scripting Sorunları 8 06 Mayıs 2009 13:57
BoT hakkında küfür koruması ekLeme !küfür Editor mIRC Scripting Sorunları 6 30 Kasım 2007 23:26



Canlı Akış 0

+
Canlı akışı görmek için lütfen
Üye Girişi Yapın veya
Kayıt Olun.

Reaksiyonlar

×