alias capscheck { var %input = $nospace($nopunct($1-)) var %position = 1 var %capscount while (%position <= $len(%input)) { if (($asc($mid(%input,%position,1)) >= 65) && ($asc($mid(%input,%position,1)) <= 90)) { inc %capscount } inc %position } return $calc(100 * %capscount / $len(%input)) } alias nopunct { var %input = $1- var %final var %position = 1 var %flag = off while (%position <= $len(%input)) { if (($asc($mid(%input,%position,1)) >= 65) && ($asc($mid(%input,%position,1)) <= 90)) || (($asc($mid(%input,%position,1)) >= 97) && ($asc($mid(%input,%position,1)) <= 122)) || (($asc($mid(%input,%position,1)) >= 48) && ($asc($mid(%input,%position,1)) <= 57)) { if (%flag == on) { %final = %final $+ $chr(32) $+ $mid(%input,%position,1)) %flag = off } else { %final = %final $+ $mid(%input,%position,1)) } } else if ($asc($mid(%input,%position,1)) == 32) { %flag = on } inc %position } return %final } alias nospace { return $replace($1-,$chr(32),) } on *:text:*:#spp,#spp-wifi: { if ( $nick !ishop # ) && ( $nick !isop # ) { if ($len($nopunct($nospace($1-)) > 10) { if $capscheck($1-) >= 85 { kb5 $nick Too many caps } } } } on *:action:*:#spp: { if ( $nick !ishop # ) && ( $nick !isop # ) { if ($len($nopunct($nospace($1-)) > 10) { if $capscheck($1-) >= 85 { kb5 $nick Too many caps } } } }