SHARE
TWEET

mIRC personal flood protection

Seb Mar 7th, 2013 (edited) 228 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Author : SanitariuM @ Undernet / small modifications from Sebastien @ undernet
  2. #Download Link : http://pastebin.com/PjF78nXj
  3. #Description :
  4. #When triggered, it will activate silence for 3 minutes.
  5. #If you are flooded offline during this time, you will activate silence upon reconnection.
  6.  
  7. ; Private Flood Protection by SanitariuM/SeeknDestroy
  8. ; This script protects against ALL types of private IRC floods :
  9. ; Query, Notice, Invite, CTCP, and DCC Send/Chat/Fserve thru IRC Server & IP
  10. ; The same settings apply to all of them.  5 in 5 seconds.
  11.  
  12. on *:connect:{
  13.   if ($hget(p_flood,reconnect.protect)) {
  14.     echo -as You were flooded offline.  Silence will be turned on in 3 seconds.
  15.     echo -as You will need to type /silence -* to turn it off when you feel it is safe.
  16.     if ($network == undernet) { .timersilence 1 3 silence +*,~*!*@*undernet.org }
  17.     else { .timersilence 1 3 silence +* }
  18.   }
  19. }
  20.  
  21. on ^1:notice:*:?:{
  22.   if (!$istok(chanserv nickserv memoserv helpserv x,$nick,32)) {
  23.     hinc -mu5 p.flood notice 1
  24.     if ($hget(p.flood,notice) == 5) { p.flood.silence Notice }
  25.     elseif ($hget(p.flood,notice) > 5) { halt }
  26.   }
  27. }
  28.  
  29. on ^1:invite:#:{
  30.   hinc -mu5 p.flood invite 1
  31.   if ($hget(p.flood,invite) == 5) { p.flood.silence Invite }
  32.   elseif ($hget(p.flood,invite) > 5) { halt }
  33. }
  34.  
  35. on ^1:open:?:*:{
  36.   hinc -mu5 p.flood query 1
  37.   if ($hget(p.flood,query) == 5) { p.flood.silence Query | close -m }
  38.   elseif ($hget(p.flood,query) > 5) { halt }
  39. }
  40.  
  41. on ^1:open:=:{
  42.   hinc -mu5 p.flood chat 1
  43.   if ($hget(p.flood,chat) == 5) { p.flood.silence DCC Chat }
  44.   elseif ($hget(p.flood,chat) > 5) { halt }
  45. }
  46.  
  47. on ^1:open:!:{
  48.   hinc -mu5 p.flood fserve 1
  49.   if ($hget(p.flood,fserve) == 5) { p.flood.silence DCC Fserve }
  50.   elseif ($hget(p.flood,fserve) > 5) { halt }
  51. }
  52.  
  53. ctcp ^1:send:?:{
  54.   hinc -mu5 p.flood send 1
  55.   if ($hget(p.flood,send) == 5) { p.flood.silence DCC Send }
  56.   elseif ($hget(p.flood,send) > 5) { halt }
  57. }
  58.  
  59. ctcp ^1:*:?:{
  60.   hinc -mu5 p.flood ctcp 1
  61.   if ($hget(p.flood,ctcp) == 5) { p.flood.silence CTCP }
  62.   elseif ($hget(p.flood,ctcp) > 5) { halt }
  63. }
  64.  
  65. on 1:dccserver:chat:{
  66.   hinc -mu5 p.flood dcc.chat 1
  67.   if ($hget(p.flood,dcc.chat) == 5) { p.flood.dcc Chat }
  68. }
  69.  
  70. on 1:dccserver:send:{
  71.   hinc -mu5 p.flood dcc.send 1
  72.   if ($hget(p.flood,dcc.send) == 5) { p.flood.dcc Send }
  73. }
  74.  
  75. on 1:dccserver:fserve:{
  76.   hinc -mu5 p.flood dcc.fserve 1
  77.   if ($hget(p.flood,dcc.fserve) == 5) { p.flood.dcc Fserve }
  78. }
  79.  
  80. alias p.flood.silence {
  81.   if ($network == undernet) { silence +*,~*!*@*undernet.org }
  82.   else { silence +* }
  83.   .timerunsilence 1 180 silence -*
  84.   echo -as $1- Flood Detected.  Silencing for 3 minutes.
  85.   hadd -mu60 p.flood reconnect.protect 1
  86. }
  87.  
  88. alias p.flood.dcc {
  89.   dccserver off | .timerdccon 1 180 dccserver on
  90.   echo -as DCC (via IP) $1 Flood Detected.  Disabling DCC for 3 minutes.
  91. }
RAW Paste Data
Top