on ^!@*:text:*:#: { if ($nick isreg #) { .signal -n c # $nick $1- | haltdef } }
on ^!@*:action:*:#: { if ($nick isreg #) { .signal -n c # $nick $1- | haltdef } }
on ^!@*:notice:*:#: { if ($nick isreg #) { .signal -n c # $nick $1- | haltdef } }
ctcp !@*:*:#: { if ($nick isreg #) { .signal -n a # $nick $1- | haltdef } }
on !@*:ctcpreply:*: { if ($nick isreg #) { .signal -n b # $nick $1- | haltdef } }
on *:signal:*: {
if ($signal == a) { .signal -n d $1 $2 ctcp }
if ($signal == b) { .signal -n d $1 $2 ctcpreply }
if ($signal == c) {
if ($regex($3-,/[[:cntrl:]]/g) > 49) { .signal -n d $1 $2 codes }
if ($regex($3-,/[[:upper:]]/Sg) > 49) { .signal -n d $1 $2 caps }
if ($regex($3-,/\d/Sg) > 49) { .signal -n d $1 $2 number }
if ($regex($3-,/[[:punct:]]/Sg) > 49) { .signal -n d $1 $2 symbol }
if ($regex($3-,/[ $chr(174) ]/Sg) > 49) { .signal -n d $1 $2 ascii }
if ($regex($3-,/[ $chr(160) ]/Sg) > 49) { .signal -n d $1 $2 blur }
if ($regex($3-,/./Sg) > 199) { .signal -n d $1 $2 lenght }
if ($regex($3-,/(www.)|(http:)|#/Sig)) { .signal -n d $1 $2 advertise }
if ($regex($3-,/\b([censored]|suck)\b/Sig)) { .signal -n d $1 $2 swear }
.hinc -u3m $+(repeat,$1) $hash($+($2,$remove($strip($3-),$chr(160),$chr(32))),32)) 1 | if ($hget($+(repeat,$1),$hash($+($2,$remove($strip($3-),$chr(160),$chr(32))),32)) > 2) { .signal -n d $1 $2 repeat }
.hinc -u3m f $hash($+($1,$2),32) 1 | if ($hget(f,$hash($+($1,$2),32)) > 4) { .signal -n d $1 $2 row }
}
if ($signal == d) {
if ($2 ison $1) {
.hinc -u2m d y
if ($hget(d,y) < 22) { !.quote -q kick $1 $2 $3 }
Else { Halt }
.hadd -u2m o $+($2,*@*fakeded*)
.timer_ 1 3 !mode $chan $1 $+(+,$str(b,$hget(o,*).item)) $hget(o,1).item $hget(o,2).item $hget(o,3).item $hget(o,4).item $hget(o,5).item $hget(o,6)).item $hget(o,7).item $hget(o,8).item $hget(o,9)).item $hget(o,10).item $hget(o,11).item $hget(o,12).item }
}
}
on ^*:join:#: { halt }
on ^*:part:#: { halt }
on ^*:ban:#: { halt }
on ^*:unban:#: { halt }
on ^!*:kick:#: { halt }
raw 001:*:{ halt }
raw 002:*:{ halt }
raw 003:*:{ halt }
raw 004:*:{ halt }
raw 005:*:{ halt }
raw 007:*:{ halt }
raw 008:*:{ halt }
raw 009:*:{ halt }
raw 251:*:{ halt }
raw 252:*:{ halt }
raw 254:*:{ halt }
raw 255:*:{ halt }
raw 265:*:{ halt }
raw 266:*:{ halt }
raw 267:*:{ halt }
raw 377:*:{ halt }
raw 375:*:{ halt }
raw 372:*:{ halt }
raw 376:*:{ halt }
raw 366:*:{ halt }
raw 333:*:{ halt }
raw 324:*:{ halt }
raw 329:*:{ halt }
raw 441:*:{ halt }
raw 367:*:{ halt }
raw 368:*:{ halt }