With
Code:
On $@*:Text:/(?:[[:upper:]]{2,}\b\s?){3,}/S:#channel:KICK # $nick CAPS abuse detected!

Or with
Code:
On @*:Text:*:#channel:{
  If ($regex($1-,/[[:upper:]]{1,}\b\s?/Sg) > 2) {
    KICK # $nick CAPS abuse detected!
  }
}

the desired action shall function.

Otherwise, there are methods with counts the total number of caps characters, then calculates a percentage. And for example, if it's bigger than 80%, sanction!

Code:
On @*:Text:*:#channel:{
  Var %d = $strip($1-) , %l = $len(%d)
  If ($calc($regex(%d,/[[:upper:]]/g) / %l) > 0.8) {
    KICK # $nick CAPS abuse detected!
  }
}


There may be for sure other (even better) methods out there. smile These are just examples.

Cordialement

nb: untested!


tropnul