on $*:TEXT:/^[@!](set|flood)/si:#: { var %floodmessage = $iif($left($1,1) == @,msg $chan,notice $nick) if ($nick !isop $chan) && ($ulevel != 10) && ($ulevel != 5) && ($ulevel != 4) { %floodmessage I am sorry but you can't use any of the flood commands unless you are op or you are Rsbots staff } else { if ($2 == floodoff) && (%floodstatus [ $+ [ $chan ] ] != on) { %floodmessage I am sorry but you can't turn off the flood settings because they aren't even on at the moment. If you need help type !flood help. } if ($2 == floodoff) && (%floodstatus [ $+ [ $chan ] ] == on) { %floodmessage Your flood settings will now be turned off, your floodlines will be saved though for future use | /unset %floodstatus [ $+ [ $chan ] ] * } if ($2 == floodon) && (%floodnumber [ $+ [ $chan ] ] != set) { %floodmessage Uh oh, I failed turning on the flood settings because the flood settings for this channel have not yet been set. In order to set your flood settings please type !set floodlines 1-10 if you need more help please type !flood help } if ($2 == floodon) && (%floodstatus [ $+ [ $chan ] ] == on) { %floodmessage I am sorry but you already have flood control on, if you need flood control help please type !flood help. } if ($2 == floodon) && (%floodstatus [ $+ [ $chan ] ] != on) && (%floodnumber [ $+ [ $chan ] ] == set) { %floodmessage The flood setting for $chan has been turned on by $nick $+ . Current flood setting: %floodlines [ $+ [ $chan ] ] $+ lines per 10 seconds | set %floodstatus [ $+ [ $chan ] ] on } if ($2 == floodlines) && ($3 isnum 1-10) { /set %floodlines [ $+ [ $chan ] ] $3 | /set %floodnumber [ $+ [ $chan ] ] set | set %floodaction [ $+ [ $chan ] ] kickban | set %floodexcept [ $+ [ $chan ] ] op | %floodmessage $chan is set to $3 floodlines $+ . To enable your flood settings type !set floodon } if ($2 == status) && (%floodnumber [ $+ [ $chan ] ] != set) { %floodmessage You currently have no flood settings for this channel. Type !help flood for help or start out by using !set floodlines 1-10 } if ($2 == status) && (%floodnumber [ $+ [ $chan ] ] == set) && (%floodstatus [ $+ [ $chan ] ] != on) { %floodmessage The channels current floodline settings is %floodlines [ $+ [ $chan ] ] allowed per 10 seconds. You have your flood protection off. Your channel's flood system is currently in %floodaction [ $+ [ $chan ] ] mode and you have %floodexcept [ $+ [ $chan ] ] and higher on your exception list. } if ($2 == status) && (%floodnumber [ $+ [ $chan ] ] == set) && (%floodstatus [ $+ [ $chan ] ] == on) { %floodmessage The channels current floodline settings is %floodlines [ $+ [ $chan ] ] allowed per 10 seconds. You have your flood protection %floodstatus [ $+ [ $chan ] ] $+ . Your channel's flood system is currently in %floodaction [ $+ [ $chan ] ] mode and you have %floodexcept [ $+ [ $chan ] ] and higher on your exception list. } if ($2 == floodexcept) && (%floodexcept [ $+ [ $chan ] ] == $3) { %floodexcept I am sorry but you already have the $3 and higher on the flood exception } if ($2 == floodexcept) && (%floodexcept [ $+ [ $chan ] ] != $3) && ($3 == voice) || ($3 == halfop) || ($3 == op) { /set %floodexcept [ $+ [ $chan ] ] $3 | %floodmessage You have set the flood exceptions for $3 and higher } if ($2 == floodkickban) && ($3 == off) && (%floodaction [ $+ [ $chan ] ] == kick) { %floodmessage Error, you can not turn off kickban mode because it is not in kickban mode atm it is in kick mode. For more help type !flood help } if ($2 == floodkickban) && ($3 == off) && (%floodaction [ $+ [ $chan ] ] == kickban) { /set %floodaction [ $+ [ $chan ] ] kick | %floodmessage You have turned off kickban mode, auto enabling kick mode. If you would like to turn the flood system off type !set floodoff } if ($2 == floodkickban) && ($3 == on) && (%floodaction [ $+ [ $chan ] ] == kickban) { %floodmessage Error, you already have kickban mode enabled for more help type !flood help } if ($2 == floodkickban) && ($3 == on) && (%floodaction [ $+ [ $chan ] ] == kick) { /set %floodaction [ $+ [ $chan ] ] kick | %floodmessage You have turned off kick mode and enabled kickban mode. To return to kick mode type !set floodkick on } if ($2 == floodkick) && ($3 == off) && (%floodaction [ $+ [ $chan ] ] == kickban) { %floodmessage Error, you can not turn off kick mode because it is not in kick mode atm it is in kickban mode. For more help type !flood help } if ($2 == floodkick) && ($3 == off) && (%floodaction [ $+ [ $chan ] ] == kick) { /set %floodaction [ $+ [ $chan ] ] kickban | %floodmessage You have turned off kick mode, auto enabling kickban mode. If you would like to turn the flood system off type !set floodoff } if ($2 == floodkick) && ($3 == on) && (%floodaction [ $+ [ $chan ] ] == kick) { %floodmessage Error, you already have kick mode enabled for more help type !flood help } if ($2 == floodkick) && ($3 == on) && (%floodaction [ $+ [ $chan ] ] == kickban) { /set %floodaction [ $+ [ $chan ] ] kick | %floodmessage You have turned off kickban mode and enabled kick mode. To return to kickban mode type !set floodkickban on } if ($2 == help) { %floodmessage The flood controls are: !flood status (tells you the flood settings for the channel) !set floodlines 1-10 (Sets floodlines allowed for this channel within 10 secconds) !set floodoff !set floodon %floodmessage !set floodkick (on/off) or !set floodkickban (on/off) (You must choose one or the other) !set floodexcept (voice/halfop/op) (You must choose either voice halfop or op. What this does is stop the flood settings from taking action on whatever you chose) Ex: !set floodexcept voice (Will protect voice and higher) } } } on *:TEXT:*:#: { if (%floodstatus [ $+ [ $chan ] ] != on) { halt } if (%floodstatus [ $+ [ $chan ] ] != on) { halt } if (%floodexcept [ $+ [ $chan ] ] == voice) && ($nick isvoice $chan) || ($nick ishop $chan) || ($nick isop $chan) { halt } if (%floodexcept [ $+ [ $chan ] ] == halfop) && ($nick ishop $chan) || ($nick isop $chan) { halt } if (%floodexcept [ $+ [ $chan ] ] == op) && ($nick isop $chan) { halt } var %floodtime = 10 /inc -u10 %textingfloodnick [ $+ [ $nick ] ] if (%autotimebanflood [ $+ [ $nick ] ] == 4) { goto Autotimeban } if (%textingfloodnick [ $+ [ $nick ] ] == %floodlines [ $+ [ $chan ] ] ) && (%floodaction [ $+ [ $chan ] ] != kickban) { inc %kcount | /kick $chan $nick You have said %floodlines [ $+ [ $chan ] ] of lines of text in ten seconds. That is considered flood on this chan. Total noobs pwnt: %kcount | /unset %textingfloodnick [ $+ [ $nick ] ] | inc -u3600 %autotimebanflood [ $+ [ $nick ] ] } if (%textingfloodnick [ $+ [ $nick ] ] == %floodlines [ $+ [ $chan ] ] ) && (%floodaction [ $+ [ $chan ] ] != kick) { inc %kcount | /mode # +b $address($nick,2) | /kick $chan $nick You have said %floodlines [ $+ [ $chan ] ] of lines of text in ten seconds. That is considered flood on this chan. Total noobs pwnt: %kcount | /unset %textingfloodnick [ $+ [ $nick ] ] | inc -u3600 %autotimebanflood [ $+ [ $nick ] ] } :autotimeban if (%textingfloodnick [ $+ [ $nick ] ] == %floodlines [ $+ [ $chan ] ] ) && (%floodaction [ $+ [ $chan ] ] != kickban) { /inc %autotimebanflood [ $+ [ $nick ] ] } if (%textingfloodnick [ $+ [ $nick ] ] == %floodlines [ $+ [ $chan ] ] ) && (%floodaction [ $+ [ $chan ] ] != kick) { /inc %autotimebanflood [ $+ [ $nick ] ] } if (%autotimebanflood [ $+ [ $nick ] ] == 5) { inc %kcount | /ban -ku300 # $address($nick,2) | /kick $chan $nick You have been flood kicked/banned 5 times in the last hr in $chan triggering my auto timeban. You will be unbanned in 5 mins. Total noobs pwnt: %kcount /unset %autotimebanflood [ $+ [ $nick ] ] | /unset %textingfloodnick [ $+ [ $nick ] ] } }