Jump to content
Sign in to follow this  
chain

mIRC personal flood protection

Recommended Posts

#Author : SanitariuM @ Undernet / small modifications from Sebastien @ undernet
#Description :
#When triggered, it will activate silence for 3 minutes.
#If you are flooded offline during this time, you will activate silence upon reconnection.
 
; Private Flood Protection by SanitariuM/SeeknDestroy
; This script protects against ALL types of private IRC floods :
; Query, Notice, Invite, CTCP, and DCC Send/Chat/Fserve thru IRC Server & IP
; The same settings apply to all of them.  5 in 5 seconds.
 
on *:connect:{
  if ($hget(p_flood,reconnect.protect)) {
    echo -as You were flooded offline.  Silence will be turned on in 3 seconds.
    echo -as You will need to type /silence -* to turn it off when you feel it is safe.
    if ($network == undernet) { .timersilence 1 3 silence +*,~*!*@*undernet.org }
    else { .timersilence 1 3 silence +* }
  }
}
 
on ^1:notice:*:?:{
  if (!$istok(chanserv nickserv memoserv helpserv x,$nick,32)) {
    hinc -mu5 p.flood notice 1
    if ($hget(p.flood,notice) == 5) { p.flood.silence Notice }
    elseif ($hget(p.flood,notice) > 5) { halt }
  }
}
 
on ^1:invite:#:{
  hinc -mu5 p.flood invite 1
  if ($hget(p.flood,invite) == 5) { p.flood.silence Invite }
  elseif ($hget(p.flood,invite) > 5) { halt }
}
 
on ^1:open:?:*:{
  hinc -mu5 p.flood query 1
  if ($hget(p.flood,query) == 5) { p.flood.silence Query | close -m }
  elseif ($hget(p.flood,query) > 5) { halt }
}
 
on ^1:open:=:{
  hinc -mu5 p.flood chat 1
  if ($hget(p.flood,chat) == 5) { p.flood.silence DCC Chat }
  elseif ($hget(p.flood,chat) > 5) { halt }
}
 
on ^1:open:!:{
  hinc -mu5 p.flood fserve 1
  if ($hget(p.flood,fserve) == 5) { p.flood.silence DCC Fserve }
  elseif ($hget(p.flood,fserve) > 5) { halt }
}
 
ctcp ^1:send:?:{
  hinc -mu5 p.flood send 1
  if ($hget(p.flood,send) == 5) { p.flood.silence DCC Send }
  elseif ($hget(p.flood,send) > 5) { halt }
}
 
ctcp ^1:*:?:{
  hinc -mu5 p.flood ctcp 1
  if ($hget(p.flood,ctcp) == 5) { p.flood.silence CTCP }
  elseif ($hget(p.flood,ctcp) > 5) { halt }
}
 
on 1:dccserver:chat:{
  hinc -mu5 p.flood dcc.chat 1
  if ($hget(p.flood,dcc.chat) == 5) { p.flood.dcc Chat }
}
 
on 1:dccserver:send:{
  hinc -mu5 p.flood dcc.send 1
  if ($hget(p.flood,dcc.send) == 5) { p.flood.dcc Send }
}
 
on 1:dccserver:fserve:{
  hinc -mu5 p.flood dcc.fserve 1
  if ($hget(p.flood,dcc.fserve) == 5) { p.flood.dcc Fserve }
}
 
alias p.flood.silence {
  if ($network == undernet) { silence +*,~*!*@*undernet.org }
  else { silence +* }
  .timerunsilence 1 180 silence -*
  echo -as $1- Flood Detected.  Silencing for 3 minutes.
  hadd -mu60 p.flood reconnect.protect 1
}
 
alias p.flood.dcc {
  dccserver off | .timerdccon 1 180 dccserver on
  echo -as DCC (via IP) $1 Flood Detected.  Disabling DCC for 3 minutes.
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...