THis is a pretty good caps kicker kicks at 70% caps used & tells the user kicked how many caps they have used out of the allowed caps.
menu menubar {
-
Caps Kicker ( $+ $group(#caps) $+ )
..$iif($group(#caps) == on,$style(2),$style(0)) On:{ .enable #caps | echo $active 0,12Caps Kicker 0,94Enabled }
..$iif($group(#caps) == off,$style(2),$style(0)) Off:{ .disable #caps | echo $active 0,12Caps Kicker 0,94Disabled }
}
#caps on
on ^*:TEXT:*:*:{
if ($len($1-) < 20) { return }
var %caps.letters = $calc($len($1-) + 1 - $len($removecs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)))
var %caps = $calc($len($1-) - $len($removecs($1-,($1-),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)))
var %caps.percent = $round($calc(%caps / %caps.letters * 100),0)
if ((%caps.percent > $allowedcaps) && ($nick !isop $active)) {
/kick $active $nick Caps Allowed $allowedcaps $+ $chr(37) You Used %caps.percent $+ $chr(37) BYE!!
}
}
alias allowedcaps { return 70 }
#caps end
First thing. You can\'t kick someone who\'s talking to you in a query. You can do this however:
if ($chan) { kick $v1 $nick blah blah }
else { close -m $nick }
Also, the above would work, but you can use this for shorter code too:
on :TEXT::#: {
var %x = 1,%y
while (%x <= $len($1-)) {
if ($right($left($1-,%x),1) isupper) inc %y
inc %x
}
if (%y > $calc($len($1-) * .5)) { do action... }
}