Advertisement

 Protection on IRC

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

  • Guest Nick Kicker
  • !list Kicker
  • Mass Clone Flood Protection
  • Mass Kick Protection
  • Repeat Flood Protection
  • Ban Protection
  • Long Text Kicker
  • Spam/Advertisement Kicker [Fixed]
  • Clone Protection
  • Revolving Door Kicker
  • Seen Script Kicker
  • Swear Kicker
  • Control Code Kicker
  • Excess Punctuation Kicker
  • Caps Kicker
  • Caps Kicker #2
  • Control Code Kicker #2
  • Repeat Kicker
  • Personal Protection

  • Ctcp Flood Protection
  • Dcc Flood Protection
  • Query Window Flood Protection
  • Notice Flood Protection
  • Internet/PC Protection
  •  

    Repeat Flood 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! } } } }

    The code above is made so you can just copy and paste it with no comments or anything to clutter it up. Below we have the same exact code but with comments explaining what each line does so you may understand and modify settings according to your needs.

    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...