[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
}
}