ive tested this and it all works for me
Note: ive used a stacked nicks in the on op event if your networks allows stacked kicks and modes kick #channel nick,nick,nick,nick,nick,nick
not sure on what network you are gonna use this as some networks allow stacked kicks.
..................
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) { kick %chan %nick please change your nick thanks you.... }
}
.....................