alias offline {
.var %a = $1-
.var %1 = halt
.var %2 = cntrl
.var %3 = upper
.var %4 = digit
.var %5 = punct
.var %6 = $chr(174)
.var %7 = lower
.var %8 = $chr(160)
.var %9 = #|/server|http
.var %10 = fuck|dick|babi|zakar|suck
if $nick !isreg # .return
if $regex(%a,/[[: $+ %2 $+ :]]/g) > 50 { bom Codes® | %1 }
if $regex($strip(%a),/[[: $+ %3 $+ :]]/g) > 50 { bom Caps® | %1 }
if $regex($strip(%a),/[[: $+ %4 $+ :]]/g) > 50 { bom Digits® | %1 }
if $regex($strip(%a),/[[: $+ %5 $+ :]]/g) > 50 { bom Symbols® | %1 }
if $regex($strip(%a),/[ %6 ]/g) > 50 { bom Ascii® | %1 }
if $regex($strip(%a),/[[: $+ %7 $+ :]]/g) > 200 { bom Longs® | %1 }
if $regex($strip(%a),/[ $+ %8 $+ ]/g) > 50 { bom Blanks® | %1 }
if $regex($strip(%a),/( $+ %9 $+ )/g) > 0 { bom Spam® | %1 }
if $regex($strip(%a),/( $+ %10 $+ )/g) > 0 { bom Swear® | %1 }
.hinc -u15m row [ $+ [ # ] ] $address 1 | if ($hget(row [ $+ [ # ] ],$address) = 5) { .bom Line® | Halt }
.inc -u15m %rep [ $+ [ $nick ] $+ [ $hash($chan,32) ] $+ [ $hash($strip($1-),32) ] ] 1 | if (%rep [ $+ [ $nick ] $+ [ $hash($chan,32) ] $+ [ $hash($strip($1-),32) ] ] > 3) { .bom Repeat® | halt }
.hinc -u15m special [ $+ [ # ] $+ [ $nick ] ] $hash($remove($strip($1-),$chr(160),$chr(32)),32) 1 | if ($hget(special [ $+ [ # ] $+ [ $nick ] ],$hash($remove($strip($1-),$chr(160),$chr(32)),32)) === 3) { .bom SpecialRepeat® | halt }
.hinc -u15m newline [ $+ [ # ] ] $address($nick,3) 1 | if ($hget(newline [ $+ [ # ] ],$address($nick,3)) > 5) { .bom NewLine® }
.hinc -u15m newrepeating [ $+ [ # ] $+ [ $address($nick,3) ] ] $hash($remove($strip($1-),$chr(160),$chr(32)),32) 1 | if ($hget(newrepeating [ $+ [ # ] $+ [ $address($nick,3) ] ],$hash($remove($strip($1-),$chr(160),$chr(32)),32)) == 3) { .bom NewRepeat® | halt }
else { haltdef }
}
