To be clear, I did NOT write this script. I just do not know who the original author is.

I have changed the script a little bit to use a one second timer before sending the timeout command and message. The reasoning for this is that sometimes the timeout command would show in my channel before the users offending message.

Now, for my dilemma. Let's say a user sends "The Quick Brown Fox Jumped Over The Very Very Very Very Very Lazy Dog Thing." This message would cause a timeout for the capital letters. In my opinion, it should not. Is there a way to have it rule out messages like that from a timeout?

Code:
on *:text:*:#:{
  if ($mod($nick)) { halt }
  if ( $len($1-) >= 10 ) {
    if ( $calc($regex($1-,/[A-Z]/g)) >= 14 ) {
      var %capsblock = $rand(1,3)
      if (%capsblock == 1) { 
        .timerTO 1 1 msg $chan .timeout $nick 1      
        .timerTOmsg 1 1 msg $chan /me $nick -> calm your caps! [warning]
      }
      if (%capsblock == 2) { 
        .timerTO 1 1 msg $chan .timeout $nick 1      
        .timerTOmsg 1 1 msg $chan /me $nick -> Ey! stop yelling! [warning]
      }
      if (%capsblock == 3) { 
        .timerTO 1 1 msg $chan .timeout $nick 1
        .timerTOmsg 1 1 msg $chan /me $nick -> stop typing in BIG LETTERS! [warning]
      }
    }
  }
}