ban chatter swearing in op pm - 24/12/09 03:48 PM
can anyone teach me how to write a script to ban a chatter swearing in op pm?
on @$*:TEXT:/\bword1\b|\bword2\b|\bword3\b/iS:#:ban -ku600 # $nick 2 Ten minute kick/ban for language! on @$*:ACTION:/\bword1\b|\bword2\b|\bword3\b/iS:#:ban -ku600 # $nick 2 Ten minute kick/ban for language!
on @$*:TEXT:/\bword1\b|\bword2\b|\bword3\b/iS:?:ban -ku600 #YourChannel $nick 2 Ten minute kick/ban for language! on @$*:ACTION:/\bword1\b|\bword2\b|\bword3\b/iS:?:ban -ku600 #YourChannel $nick 2 Ten minute kick/ban for language!
on ^*:OPEN:?:pmkban $1- on *:TEXT:*:?:pmkban $1- on *:ACTION:*:?:pmkban $1- alias -l pmkban { if $regex($1-,/word1|word2|word3/iS) { var %c,%i 1 while $comchan($nick,%i) { %c = $v1 if $nick(%c,$me,~&@%) { ban -ku600 %c $nick 2 Ten minute ban for language in private message! } inc %i } .ignore -u600 $nick 2 } }
on ^*:OPEN:?:pmkban $1- on *:TEXT:*:?:pmkban $1- on *:ACTION:*:?:pmkban $1- on *:NOTICE:*:?:pmkban $1- alias -l pmkban { if $count($strip($1-),bitch,bastard,cunt,cock,fuk,[censored],horny,nigger,whore,penis,$& shithead,badword,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,$& 36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,$& ) { var %c,%i 1 while $comchan($nick,%i) { %c = $v1 if $nick(%c,$me,~&@%) { ban -ku600 %c $nick 2 Ten minute ban for foul language in private message! } inc %i } } }
on ^*:OPEN:?:pmkban $1- on *:TEXT:*:?:pmkban $1- on *:ACTION:*:?:pmtkban $1- on *:NOTICE:*:?:pmkban $1- alias -l pmkban { var %r /bitch|bastard|cunt|cock|fuc?k|<censored>| $& h(0|o)rn(ie|y)|nigger|\btwat\b|whore|penis|shit| $& \bcibai\b|di ?ck|pussy-?|fak you|fck|slut/iS if $regex($1-,%r) { var %c,%i 1 while $comchan($nick,%i) { %c = $v1 if $nick(%c,$me,~&@%) { ban -ku600 %c $nick 2 Ten minute ban for foul language in private message! } inc %i } .ignore -u600 $nick 2 } }
on ^*:OPEN:?:pmkban $1- on *:TEXT:*:?:pmkban $1- on *:ACTION:*:?:pmtkban $1- on *:NOTICE:*:?:pmkban $1- alias -l pmkban { var %c,%i 1,%r /bitch|bastard|cunt|cock|fuc?k|<censored>| $& $+ h(0|o)rn(ie|y)|nigger|\btwat\b|whore|penis|shit| $& $+ \bcibai\b|di ?ck|pussy-?|fak you|fck|slut/iS if $regex($1-,%r) { while $comchan($nick,%i) { %c = $v1 if $nick(%c,$me,~&@%) { ban -ku600 %c $nick 2 Ten minute ban for foul language in private message! } inc %i } .ignore -u600 $nick 2 } }
; your list of badwords and badstrings var %bad = badword1 *badstring* anotherbadword anotherb*string var %n = 1 ; loop the badwords and -strings while ($gettok(%bad,%n,32)) { ; check for occurences of this badword/-string in <TEXT> if ($wildtok(<TEXT>,$v1,1,32)) { ; your action here echo -ag word $v1 in <TEXT> matches badword definition: $gettok(%bad,%n,32) break } inc %n }
/hadd -m pmban pmban /(bitch|bastard|cunt|cock|fuc?k|<censored>|h(0|o)rn(ie|y)|nigger|\btwat\b|whore|penis|shit|\bcibai\b|di ?ck|pussy-?|fak you|fck|slut)/iS
on *:EXIT: { hsave pmban pmban.hsh } on *:START: { if (!$hget(pmban)) hmake pmban 100 if ($isfile(pmban.hsh)) hload pmban pmban.hsh } on @*:TEXT:*:#: { if ($hfind(pmban,$1-,0,R).data) { ban -ku600 # $nick 2 Ten minute ban for saying the foul language consists of $regml(1) } }
alias conf_badword { set %badwords_plaintext badwords.txt set %badwords_table badwords.tab } alias add_badword { var %item = $hget(badwords,0).item, %data = $mid($hget(badwords,%item).data,2,-2) conf_badword ; leave more than enough space for the max 4096 per anything... if ($len(%data) >= 2048) { hadd -m badwords $calc(%item + 1) $+(/,$1,/iS) } else { hadd -m badwords %item $+(/,%data,|,$1,/iS) } write %badwords_plaintext $1 hsave badwords %badwords_table } on 1:OPEN: conf_badword | hload %badwords_table on ^*:OPEN:?:pmkban $1- on *:TEXT:*:?:pmkban $1- on *:ACTION:*:?:pmkban $1- alias -l pmkban { if ($hfind(badwords,$1-,0,R).data != $null) { var %c,%i 1 while $comchan($nick,%i) { %c = $v1 if $nick(%c,$me,~&@%) { ban -ku600 %c $nick 2 Ten minute ban for language in private message! } inc %i } .ignore -u600 $nick 2 } }