on @*:join:#: { if 150 isin $level($address($nick,3)) && %friend.auto.kick == ON { goto zend } if %ccc.all.autokicks == OFF { goto end } if ((# == $gettok(%ccc.clones.channels,1,32)) || (# == $gettok(%ccc.clones.channels,2,32)) || (# == $gettok(%ccc.clones.channels,3,32)) || (# == $gettok(%ccc.clones.channels,4,32)) || (# == $gettok(%ccc.clones.channels,5,32)) || (# == $gettok(%ccc.clones.channels,6,32)) || (# == $gettok(%ccc.clones.channels,7,32)) || (# == $gettok(%ccc.clones.channels,8,32)) || (# == $gettok(%ccc.clones.channels,9,32)) || (# == $gettok(%ccc.clones.channels,10,32))) { { set %clone.address $address($nick,2) | set %clonenumber $ialchan($address($nick,2),#,0) | set %check.clone.address $remove(%clone.address,$chr(33), $chr(42),@) | set %check.clone $readini $mircdirsystem\cybercafe.ini cafes %check.clone.address } if %clonenumber > %cloneallow { if cafe isin %check.clone { set %clone.ann.ct3 0 :ca.loop { inc %clone.ann.ct3 1 | set %clone.ann3 %clone.ann3 $ialchan(%clone.address,#,%clone.ann.ct3).nick } if %clone.ann.ct3 > %clonenumber { goto ca.next } goto ca.loop :ca.next echo 2 # 4 %clonenumber 2Cafe Clients detected on # at: [ %clone.address ] 6 %clone.ann3 goto end } if %clone.address isin %ignore.clone.address { goto end } set %ignore.clone.address %ignore.clone.address %clone.address .timer 1 10 { set %ignore.clone.address $remove(%ignore.clone.address,%clone.address) } set %clone.ann.ct 0 :loop { inc %clone.ann.ct 1 | set %clone.ann %clone.ann $ialchan(%clone.address,#,%clone.ann.ct).nick } if %clone.ann.ct > %clonenumber { goto cnext } goto loop :cnext echo 2 # 4 %clonenumber 2clones detected on # at: [ %clone.address ] 6 %clone.ann if $ialchan(%clone.address,#,1).nick isop # { echo 2 # 2 $nick was not kicked from # for cloning because $ialchan(%clone.address,#,1).nick is an Op | goto end } if $ialchan(%clone.address,#,2).nick isop # { echo 2 # 2 $nick was not kicked from # for cloning because $ialchan(%clone.address,#,2).nick is an Op | goto end } if $ialchan(%clone.address,#,3).nick isop # { echo 2 # 2 $nick was not kicked from # for cloning because $ialchan(%clone.address,#,3).nick is an Op | goto end } if (%clonenumber >= %ccc.filter.clones) { { .disable #ccc.clones | .timer 1 10 .enable #ccc.clones | ban # %clone.address | set %clone.ann.ct2 0 } :loop2 { inc %clone.ann.ct2 1 | kick # $ialchan(%clone.address,#,%clone.ann.ct2).nick Filter of %clone.address %version Filter-Kick } if %clone.ann.ct2 >= %clonenumber { goto end } goto loop2 } { ban -u $+ %ccc.clone.time # $nick 3 | kick # $nick %clonenumber nicks detected at %clone.address ( $+ %display.ccc.clones.time min. ban) %version Clone-Kick } } :end unset %clonecheck2 %clone.address %clonenumber %check.clone %clone.ann %clone.ann.ct %clone.ann.ct2 %clone.ann.ct3 %clone.ann3 %check.clone.address } if ((# == $gettok(%ccc.jflood.channels,1,32)) || (# == $gettok(%ccc.jflood.channels,2,32)) || (# == $gettok(%ccc.jflood.channels,3,32)) || (# == $gettok(%ccc.jflood.channels,4,32)) || (# == $gettok(%ccc.jflood.channels,5,32)) || (# == $gettok(%ccc.jflood.channels,6,32)) || (# == $gettok(%ccc.jflood.channels,7,32)) || (# == $gettok(%ccc.jflood.channels,8,32)) || (# == $gettok(%ccc.jflood.channels,9,32)) || (# == $gettok(%ccc.jflood.channels,10,32))) { set %wildsite2 $remove($wildsite,*,!,@) inc %jflood. [ $+ [ %wildsite2 ] ] [ $+ [ # ] ] 1 .timer 1 20 unset %jflood. [ $+ [ %wildsite2 ] ] [ $+ [ # ] ] if %jflood. [ $+ [ %wildsite2 ] ] [ $+ [ # ] ] >= 3 { ban -u $+ %ccc.jflood.time # $wildsite kick # $nick Join Flood ( $+ %display.ccc.jflood.time min. ban) %version JoiN-FlooD-KicK } } :zend } on @*:notice:*:#: { if 150 isin $level($address($nick,3)) && %friend.auto.kick == ON { goto end } if %ccc.all.autokicks == OFF { goto end } if $nick !isop # && $me isop # { :BADSWEAR if ((# == $gettok(%ccc.badswear.channels,1,32)) || (# == $gettok(%ccc.badswear.channels,2,32)) || (# == $gettok(%ccc.badswear.channels,3,32)) || (# == $gettok(%ccc.badswear.channels,4,32)) || (# == $gettok(%ccc.badswear.channels,5,32)) || (# == $gettok(%ccc.badswear.channels,6,32)) || (# == $gettok(%ccc.badswear.channels,7,32)) || (# == $gettok(%ccc.badswear.channels,8,32)) || (# == $gettok(%ccc.badswear.channels,9,32)) || (# == $gettok(%ccc.badswear.channels,10,32))) { if $gettok(%ccc.badswear.trigger,1,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,2,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,3,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,4,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,5,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,6,32)) isin $strip($1-) || $gettok(%ccc.badswear.trigger,7,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,8,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,9,32) isin $strip($1-) || $gettok(%ccc.badswear.trigger,10,32) isin $strip($1-) && (.MP3 !isin $1-) { .ignore -u5 $nick 3 | ban -u $+ %ccc.badswear.time # $nick 3 | kick # $nick naughty-word-kick ( $+ %display.ccc.badswear.time min. ban $+ ) %version Potty-Mouth-Kick | goto end } } :SWEAR if ((# == $gettok(%ccc.swear.channels,1,32)) || (# == $gettok(%ccc.swear.channels,2,32)) || (# == $gettok(%ccc.swear.channels,3,32)) || (# == $gettok(%ccc.swear.channels,4,32)) || (# == $gettok(%ccc.swear.channels,5,32)) || (# == $gettok(%ccc.swear.channels,6,32)) || (# == $gettok(%ccc.swear.channels,7,32)) || (# == $gettok(%ccc.swear.channels,8,32)) || (# == $gettok(%ccc.swear.channels,9,32)) || (# == $gettok(%ccc.swear.channels,10,32))) { if $gettok(%ccc.swear.trigger,1,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,2,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,3,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,4,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,5,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,6,32)) isin $strip($1-) || $gettok(%ccc.swear.trigger,7,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,8,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,9,32) isin $strip($1-) || $gettok(%ccc.swear.trigger,10,32) isin $strip($1-) && (.MP3 !isin $1-) { .ignore -u5 $nick 3 | ban -u $+ %ccc.swear.time # $nick 3 | kick # $nick naughty-word-kick ( $+ %display.ccc.swear.time min. ban $+ ) %version Potty-Mouth-Kick | goto end } } :TRICKS if ((# == $gettok(%ccc.tricks.channels,1,32)) || (# == $gettok(%ccc.tricks.channels,2,32)) || (# == $gettok(%ccc.tricks.channels,3,32)) || (# == $gettok(%ccc.tricks.channels,4,32)) || (# == $gettok(%ccc.tricks.channels,5,32)) || (# == $gettok(%ccc.tricks.channels,6,32)) || (# == $gettok(%ccc.tricks.channels,7,32)) || (# == $gettok(%ccc.tricks.channels,8,32)) || (# == $gettok(%ccc.tricks.channels,9,32)) || (# == $gettok(%ccc.tricks.channels,10,32))) { if ((Ctrl isin $1-) && (ALT isin $1-) && (DEL isin $1-)) { .ignore -u5 $nick 3 | ban -u $+ %ccc.tricks.time # $nick 3 | kick # $nick please do not try to trick our newbies - that's lame ( $+ %display.ccc.tricks.time min. ban $+ ) %version Trick-Kick | goto end } if (Alt-f4 isin $1-) { .ignore -u5 $nick 3 | ban -u $+ %ccc.tricks.time # $nick 3 | kick # $nick please do not try to trick our newbies - that's lame ( $+ %display.ccc.tricks.time min. ban $+ ) %version Trick-Kick | goto end } if (con/con isin $1-) { .ignore -u5 $nick 3 | ban -u $+ %ccc.tricks.time # $nick 3 | kick # $nick please do not try to trick our newbies - that's lame ( $+ %display.ccc.tricks.time min. ban $+ ) %version Trick-Kick | goto end } } :LENGTH if ((# == $gettok(%ccc.length.channels,1,32)) || (# == $gettok(%ccc.length.channels,2,32)) || (# == $gettok(%ccc.length.channels,3,32)) || (# == $gettok(%ccc.length.channels,4,32)) || (# == $gettok(%ccc.length.channels,5,32)) || (# == $gettok(%ccc.length.channels,6,32)) || (# == $gettok(%ccc.length.channels,7,32)) || (# == $gettok(%ccc.length.channels,8,32)) || (# == $gettok(%ccc.length.channels,9,32)) || (# == $gettok(%ccc.length.channels,10,32))) { set %ccc.length $len($strip($1-)) if %ccc.length > %ccc.length.trigger { .ignore -u5 $nick | ban -u $+ %ccc.length.time # $nick 3 | kick # $nick Hmmmm... that's a lot of typing.. ( $+ %ccc.length characters) u need a little rest I think! ( $+ %display.ccc.length.time min. ban) %version LongWinded-KicK | goto end } } :REPEAT if ((# == $gettok(%ccc.repeat.channels,1,32)) || (# == $gettok(%ccc.repeat.channels,2,32)) || (# == $gettok(%ccc.repeat.channels,3,32)) || (# == $gettok(%ccc.repeat.channels,4,32)) || (# == $gettok(%ccc.repeat.channels,5,32)) || (# == $gettok(%ccc.repeat.channels,6,32)) || (# == $gettok(%ccc.repeat.channels,7,32)) || (# == $gettok(%ccc.repeat.channels,8,32)) || (# == $gettok(%ccc.repeat.channels,9,32)) || (# == $gettok(%ccc.repeat.channels,10,32))) { chkrepeat $nick # $strip($1-) } :TEXTFLOOD if ((# == $gettok(%ccc.tflood.channels,1,32)) || (# == $gettok(%ccc.tflood.channels,2,32)) || (# == $gettok(%ccc.tflood.channels,3,32)) || (# == $gettok(%ccc.tflood.channels,4,32)) || (# == $gettok(%ccc.tflood.channels,5,32)) || (# == $gettok(%ccc.tflood.channels,6,32)) || (# == $gettok(%ccc.tflood.channels,7,32)) || (# == $gettok(%ccc.tflood.channels,8,32)) || (# == $gettok(%ccc.tflood.channels,9,32)) || (# == $gettok(%ccc.tflood.channels,10,32))) { %cc.tflood.trigger = %ccc.tflood.trigger - 1 if %tflood. [ $+ [ # ] ] == $nick && %tflood.line. [ $+ [ # ] ] >= %cc.tflood.trigger { .ignore -u5 $nick | ban -u $+ %ccc.tflood.time # $nick 3 | kick # $nick Please do not flood # ( $+ %display.ccc.tflood.time min. ban) %version TextFlooD KicK | goto end } elseif %tflood. [ $+ [ # ] ] == $nick { inc %tflood.line. [ $+ [ # ] ] 1 | goto CADS } { set %tflood. [ $+ [ # ] ] $nick | set %tflood.line. [ $+ [ # ] ] 1 | .timer 1 10 unset %tflood. [ $+ [ # ] ] %tflood.line. [ $+ [ # ] ] } } :CADS if ((# == $gettok(%ccc.chanads.channels,1,32)) || (# == $gettok(%ccc.chanads.channels,2,32)) || (# == $gettok(%ccc.chanads.channels,3,32)) || (# == $gettok(%ccc.chanads.channels,4,32)) || (# == $gettok(%ccc.chanads.channels,5,32)) || (# == $gettok(%ccc.chanads.channels,6,32)) || (# == $gettok(%ccc.chanads.channels,7,32)) || (# == $gettok(%ccc.chanads.channels,8,32)) || (# == $gettok(%ccc.chanads.channels,9,32)) || (# == $gettok(%ccc.chanads.channels,10,32))) { if $chr(35) isin $strip($1-) { if # isin $strip($1-) { goto CAPS } { set %ad.chk 0 | set %ad.lett 0 | set %after.hash $pos($strip($1-), $chr(35)) } if %after.hash == $len($strip($1-)) { goto CAPS } :adloop { inc %ad.chk 1 | inc %after.hash 1 } if %ad.chk == 4 { unset %ad.chk %ad.lett %after.hash | goto CAPS } if %ad.lett == 2 { .ignore -u5 $nick | ban -u $+ %ccc.chanads.time # $nick 3 | kick # $nick please do not advertise your channels on # ( $+ %display.ccc.chanads.time min. ban) %version Spam-Kick | goto end } if %ad.chk == 1 && $asc($mid(%after.hash,1,$strip($1-))) == 32 { unset %ad.chk %ad.lett %after.hash | goto CAPS } elseif %ad.chk == 2 && $asc($mid(%after.hash,1,$strip($1-))) == 32 { unset %ad.chk %ad.lett %after.hash | goto CAPS } elseif $asc($mid(%after.hash,1,$strip($1-))) isnum 1-256 && $asc($mid(%after.hash,1,$strip($1-))) != 32 { inc %ad.lett 1 goto adloop } goto adloop } :CAPS if ((# == $gettok(%ccc.caps.channels,1,32)) || (# == $gettok(%ccc.caps.channels,2,32)) || (# == $gettok(%ccc.caps.channels,3,32)) || (# == $gettok(%ccc.caps.channels,4,32)) || (# == $gettok(%ccc.caps.channels,5,32)) || (# == $gettok(%ccc.caps.channels,6,32)) || (# == $gettok(%ccc.caps.channels,7,32)) || (# == $gettok(%ccc.caps.channels,8,32)) || (# == $gettok(%ccc.caps.channels,9,32)) || (# == $gettok(%ccc.caps.channels,10,32))) { { set %caps.text $strip($1-) | set %caps.text $remove(%caps.text,$chr(32)) | set %caps.len $len(%caps.text) | set %caps.loop 0 | set %totalcaps 0 } :cloop inc %caps.loop 1 if %caps.loop > %caps.len { goto capsnext } if ($asc($mid($strip(%caps.text),%caps.loop,1)) isnum 65-90) { inc %totalcaps 1 } goto cloop :capsnext { set %perc.caps1 $calc(%totalcaps / %caps.len) | set %perc.caps $calc(%perc.caps1 * 100) } if ((%perc.caps >= 70) && (%caps.len >= 10)) || ((%perc.caps >= 40) && (%caps.len >= 20 )) { if %perc.caps == 100 { goto capnext } { set %new.perc $pos(%perc.caps,.,1) | inc %new.perc 2 | set %perc.caps $mid(%perc.caps,1,%new.perc) } :capnext set %ccc.warned $readini capswarn.txt warned $nick if %ccc.warned != $null { .ignore -u5 $nick | ban -u $+ %ccc.caps.time # $nick 3 | kick # $nick You were warned before ( $+ %perc.caps $+ % CAPS in %caps.len Characters) ( $+ %display.ccc.caps.time min. ban) %version CapSLocK KicK | goto end } else { .notice $nick The use of excessive CAPS is considered YELLING and quite rude. This is a warning. Please do not use CAPS or you will be kicked from # %version CaPs Warning | writeini capswarn.txt warned $nick warned | .timer 1 900 { remini capswarn.txt warned $nick } | echo 2 # *Caps Warning sent to $nick } } } :WEBADS if ((# == $gettok(%ccc.webads.channels,1,32)) || (# == $gettok(%ccc.webads.channels,2,32)) || (# == $gettok(%ccc.webads.channels,3,32)) || (# == $gettok(%ccc.webads.channels,4,32)) || (# == $gettok(%ccc.webads.channels,5,32)) || (# == $gettok(%ccc.webads.channels,6,32)) || (# == $gettok(%ccc.webads.channels,7,32)) || (# == $gettok(%ccc.webads.channels,8,32)) || (# == $gettok(%ccc.webads.channels,9,32)) || (# == $gettok(%ccc.webads.channels,10,32))) { if (http:// isin $1-) || (ftp:// isin $1-) { .ignore -u5 $nick | ban -u $+ %ccc.webads.time # $nick 3 | kick # $nick please do not advertise your web addy on # ( $+ %display.ccc.webads.time min. ban) %version SpaM-Kick } if (www. isin $1- && .net isin $1-) || (www. isin $1- && .com isin $1-) || (www. isin $1- && .org isin $1-) || (www. isin $1- && .cc isin $1-) || (www. isin $1- && .ws isin $1-) || (www. isin $1- && .tv isin $1-) || (www. isin $1- && .co isin $1-) || (www. isin $1- && .ro isin $1-) || (www. isin $1- && .fm isin $1-) { .ignore -u5 $nick | ban -u $+ %ccc.webads.time # $nick 3 | kick # $nick please do not advertise your web addy on # ( $+ %display.ccc.webads.time min. ban) %version SpaM-Kick } } :end } } } menu channel,menubar,status { Autokicks .Setup:ccc.autokick.control .- .Update # IAL:who # .- .Clone Scan:cf6 .- .Friends ..Add { set %frend-nick $$?="Nick?" guser 150 %frend-nick 3 %frend-nick auser 150 %frend-nick } ..Remove { set %frend-nick $$?="Nick?" ruser 150 %frend-nick 3 %frend-nick ruser 150 %frend-nick } ..Exempt from AutoKicks ...Current:echo 2 -a *Friends Exemption from Autokicks is %friend.auto.kick ...On:set %friend.auto.kick ON | echo 2 -a *Friends Exemption from Autokicks is %friend.auto.kick ...Off:set %friend.auto.kick OFF | echo 2 -a *Friends Exemption from Autokicks is %friend.auto.kick } menu nicklist { Clone .Scan:check.clones .Kick This Nick And Clones { set %clone.address $address($1,2) if $ialchan(%clone.address,#,1).nick isop # { echo 2 # 2 *Filter kick cancelled because $ialchan(%clone.address,#,1).nick is an Op | goto end } if $ialchan(%clone.address,#,2).nick isop # { echo 2 # 2 *Filter kick cancelled because $ialchan(%clone.address,#,2).nick is an Op | goto end } if $ialchan(%clone.address,#,3).nick isop # { echo 2 # 2 *Filter kick cancelled because $ialchan(%clone.address,#,3).nick is an Op | goto end } { ban # %clone.address | set %clone.ann.ct2 0 } :loop2 inc %clone.ann.ct2 1 if $ialchan(%clone.address,#,%clone.ann.ct2).nick == $null { goto end } kick # $ialchan(%clone.address,#,%clone.ann.ct2).nick Filter of %clone.address %version Filter-Kick goto loop2 :end } Friends .Add { set %frend-nick $1 guser 150 %frend-nick 3 %frend-nick auser 150 %frend-nick } .Remove { set %frend-nick $1 ruser 150 %frend-nick 3 %frend-nick ruser 150 %frend-nick } .Check $1: { if 150 isin $level($address($1,3)) { echo 2 -a * $+ $1 is in your friends list } else echo 2 -a * $+ $1 is NOT in your friends list } }