Many users need protection and channel management tools, here we supply everyone with the tools and knowledge you'll need to IRC safely and securely operate your channel. There are two sections, one for channel protection and the other for personal protection.
Channel Protection
Personal Protection
::: Protection ::: CAPS Text Flood
Remember, CAPS is annoying. There are many types of caps detection script but here I want to post the other types of caps detection. Open up your mIRC and Press ALT+R or Click the Remote Icon.
on
^1:TEXT:*:#:{ if ($nick !isreg $chan) { return } var %caps = $len($strip($1-)) %caps = %caps - $len($removecs($strip($1-),Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M)) if (%caps >= 60) { if ($me isop $chan) { if ($nick ison $chan) { .raw -q kick $chan $nick :CAPS Length Exceeded } mode $chan +b $mask($fulladdress,3) } haltdef | .ignore -u30 $mask($fulladdress,3) } } |
on
^1:ACTION:*:#:{ if ($nick !isreg $chan) { return } var %caps = $len($strip($1-)) %caps = %caps - $len($removecs($strip($1-),Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M)) if (%caps >= 60) { if ($me isop $chan) { if ($nick ison $chan) { .raw -q kick $chan $nick :CAPS Length Exceeded } mode $chan +b $mask($fulladdress,3) } haltdef | .ignore -u30 $mask($fulladdress,3) } } |
Explanation :
on ^1:TEXT:*:#:{
if ($nick !isreg $chan) { return }
; Skip this
remote if the nick is an op / voice / halfop of the channel
var %caps = $len($strip($1-))
;
create a variables %caps with the length of the text (strip out)
%caps = %caps - $len($removecs($strip($1-),Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M))
;
calculate the capital letters used in the text by minus the caps filtered text
with the the variable %caps
if (%caps >= 60) {
; check %caps with the
allowed limit
if ($me isop $chan) {
; get ready to get some
butt if you are an op
if ($nick ison $chan) { .raw -q kick $chan $nick :CAPS Length
Exceeded }
; if the nick is
presence in the channel, kick him out
mode $chan +b $mask($fulladdress,3)
; ban the user
}
haltdef | .ignore -u30 $mask($fulladdress,3)
; halt the default text
and ignore the user for 30 secs.
}
}
The underlined text can be replaced with variables or can be changed to meet the channel rules. However, I cannot guarantee this is the FASTEST scriptlet.