All pastes #1913778 Raw Edit

Untitled

public text v1 · immutable
#1913778 ·published 2010-08-09 09:43 UTC
rendered paste body
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 $capscheck($1-) >= 85 {
      kb5 $nick Too many caps
    }
  }
}

on *:action:*:#spp: {
  if ( $nick !ishop # ) && ( $nick !isop # ) {
    if $capscheck($1-) >= 85 {
      kb5 $nick Too many caps
    }
  }
}