Is it right?

Code
on *:join:#channel:set %checknick $+ $chan 1
raw 353:*:{
  if ($($+(%,checknick,$3),2)) { 
    var %chan $3
    tokenize 32 $regsubex($regsubex($4-,^:,),/(?:[ $+ $prefix $+ ]*)([^ !]+)\S+/g,\1 $+ $chr(32))
    echo -ag $1-
    scon -r if ($len( $* ) < 3) || ($calc($regex( $* ,/[A-Z]/g) * 100 / $!len( $* )) > 30) badnick_alias $unsafe(%chan) $*
  }
}
raw 366:*:if ($($+(%,checknick,$2),2)) unset %checknick $+ $2

alias badnick_alias {
  var %chan $1 , %nick $2
  if ((MindUser* !iswm %nick) || (%nick !ison %chan)) return
  if (!$3) {
    .notice %nick Please change your nick within 2 minutes, or you will be kicked.
    .timer 1  30 badnick_alias $unsafe($1-2  30)
    .timer 1  90 badnick_alias $unsafe($1-2  90)
    .timer 1 120 badnick_alias $unsafe($1-2 120)
    return
  }
  elseif ($3 == 30) /notice %nick This is your second warning change your nick or be kicked 1 minute remaining!!
  elseif ($3 == 90) /notice %nick This is your LAST warning change your nick or be kicked 30 seconds remaining!!
  elseif ($3 == 120) kick %chan %nick Please change your nick
}