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
Repeat Flood Protection |
Written by DeviL |
Here's a simple repeat flood kicker which kick/bans a user after the 3rd repeat. All code show goes into mIRC's Remotes. You can find details below...
on @*:text:*:#: { if ($nick !isop #) { if (%r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == $null) { set -u60 %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] 1 set -u60 %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $1- return } var %rps = %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] var %rpt = %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] if (%rpt == $1-) { inc %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] if (%rps > 2) { ban # $nick 2 kick # $nick You repeated %rps times, slow down! } } } }
on @*:text:*:#: { ; Defines on text so it triggers only if you're op on the target channel if ($nick !isop #) { ; Tells mIRC to go on if the nick isn't an op if (%r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == $null) { ; Checks if $nick has a prior record... ; If $nick is clean, this creates user records for the nick... set -u60 %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] 1 ; mIRC creates a variable according to the nick and channel for 60 secs ; This stores the amount the nick has repeated within 60 seconds... set -u60 %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $1- ; This stores the users text, used to check future text for matches... ; Replace 60 to adjust listening duration, 60 seconds = 1 minute ; mIRC resets stats after 60 seconds according to current settings return } var %rps = %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; %rps now represents how many times the user repeated... var %rpt = %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; %rpt represents the users previous text... if (%rpt == $1-) { ; Checks if the current text matches previous text... ; If they match, the user repeated... inc %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; Since the user repeated, we increase his/her stats by 1 if (%rps > 2) { ; Checks if the user repeats more than twice ; Replace 2 with your limits ; Current settings kick/ban after 3 or more repeats... ban # $nick 2 kick # $nick You repeated %rps times, slow down! ; User repeated more than twice and is kick/banned... } } } }
The code is explained in blue and the code is in black of course, if you find any problems or errors with this code, please contact us via email, the forum, or memo on DALNET. Enjoy...