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
  •  

    ::: Protection ::: Control Codes

    Most of us are aware of channel flooding, especially control coded text. This type of text could make IRC Client to lock-out.
    Therefore, here is the script for mIRC that can prevent such text flood. Open up your mIRC and Press ALT+R or Click the Remote Icon.

    on ^1:TEXT:*:#:{
     if ($nick !isreg $chan) { return }
     if ($calc($len($1-) - $len($strip($1-))) >=
    49) {
      if ($me isop $chan) {
       if ($nick ison $chan) { .raw -q kick $chan $nick :Disallowed Coded Text Length }
       mode $chan +b $mask($fulladdress,
    3)
      }
      haltdef | .ignore -u30 $mask($fulladdress,
    3)
     }
    }

    on ^1:NOTICE:*:#:{
     if ($nick !isreg $chan) { return }
     if ($calc($len($1-) - $len($strip($1-))) >=
    49) {
      if ($me isop $chan) {
       if ($nick ison $chan) { .raw -q kick $chan $nick :Disallowed Coded Text Length }
       mode $chan +b $mask($fulladdress,
    3)
      }
      haltdef | .ignore -u30 $mask($fulladdress,
    3)
     }
    }

    Both codes are the same for Text and Action, just replace TEXT with ACTION and leave the rest as it is. You may leave it to work on all the channels you are @, or add your desired channel
    on ^1:ACTION:*:#:{
     if ($nick !isreg $chan) { return }
     if ($calc($len($1-) - $len($strip($1-))) >=
    49) {
      if ($me isop $chan) {
       if ($nick ison $chan) { .raw -q kick $chan $nick :Disallowed Coded Text Length }
       mode $chan +b $mask($fulladdress,
    3)
      }
      haltdef | .ignore -u30 $mask($fulladdress,
    3)
     }
    }

    on ^1:NOTICE:*:#:{
     if ($nick !isreg $chan) { return }
     if ($calc($len($1-) - $len($strip($1-))) >=
    49) {
      if ($me isop $chan) {
       if ($nick ison $chan) { .raw -q kick $chan $nick :Disallowed Coded Text Length }
       mode $chan +b $mask($fulladdress,
    3)
      }
      haltdef | .ignore -u30 $mask($fulladdress,
    3)
     }
    }

    Explanation :

    This script will be invoked on Channel Notice and Channel Text event. As both are same, let us pick on TEXT.

    on ^1:TEXT:*:#:{
     if ($nick !isreg $chan) { return } 
    ; If the nick is not a regular user (op,voice,helper), it will return out off the script.
     if ($calc($len($1-) - $len($strip($1-))) >= 49) {  
    ; This is the parameter that check the text by minus the length of stripped text with the length of the text.
      if ($me isop $chan) {
    ; this line check whether you are an op of the occurrence channel
       if ($nick ison $chan) { .raw -q kick $chan $nick :Disallowed Coded Text Length } 
    ; if the nick is on the channel, the user will be kicked out from the channel.
       mode $chan +b $mask($fulladdress,3)
    ; next, banning the user on level 3.
      }
      haltdef | .ignore -u30 $mask($fulladdress,3
    ; out of if ...isop.. argument, the default text is halted and the user will be ignored for 30 secs.
     }
    }

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