Personal Flood Protection — File Browser

PersonalFloodProtectionv1.1 / PersonalFloodProtectionv1.1 / pprot / pprotevents.mrc

pprotevents.mrc — 9.17 KB — Download this file

on *:load:if ($version < 5.91) echo $color(info) -a *** ERROR: Personal Protection v1.1 requires mIRC v5.91 or higher.
ctcp *:dcc:?:{
  if ($readini($fp,botnetdcc,enabled)) && ($flood(dcc.all,$readini($fp,botnetdcc,seconds),$readini($fp,botnetdcc,lines))) { 
    .ignore $+(-dnu,$readini($fp,botnetdcc,ignoretime)) *!*@* 
    if ($readini($fp,botnetdcc,inform)) echo $color(info) -at *** ALERT - dcc flood, ignoring all for $readini($fp,botnetdcc,ignoretime) seconds
  }
  if ($readini($fp,dcc,enabled)) && ($flood($+(dcc.,$wildsite),$readini($fp,dcc,seconds),$readini($fp,dcc,lines))) {  
    .ignore $+(-,$readini($fp,dcc,ignore),u,$readini($fp,dcc,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))
    if ($readini($fp,dcc,inform)) echo $color(info) -at *** ALERT - dcc flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,dcc,ignoretime) seconds
    if ($readini($fp,dcc,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,dcc,ignoretime)) due to a possible dcc flood.
  }
}
ctcp *:*:{
  if ($readini($fp,botnetctcp,enabled)) && ($flood(ctcp.all,$readini($fp,botnetctcp,seconds),$readini($fp,botnetctcp,lines))) { 
    .ignore $+(-tu,$readini($fp,botnetctcp,ignoretime)) *!*@* 
    if ($readini($fp,botnetctcp,inform)) echo $color(info) -at *** ALERT - ctcp flood, ignoring all for $readini($fp,botnetctcp,ignoretime) seconds
  }
  if ($readini($fp,ctcp,enabled)) && ($flood($+(ctcp.,$wildsite),$readini($fp,ctcp,seconds),$readini($fp,ctcp,lines))) {  
    .ignore $+(-,$readini($fp,ctcp,ignore),u,$readini($fp,ctcp,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))
    if ($readini($fp,ctcp,inform)) echo $color(info) -at *** ALERT - ctcp flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,ctcp,ignoretime) seconds
    if ($readini($fp,ctcp,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,ctcp,ignoretime)) due to a possible ctcp flood.
  }
}
on *:text:*:?:{
  if ($readini($fp,botnetquery,enabled)) && ($flood(query.all,$readini($fp,botnetquery,seconds),$readini($fp,botnetquery,lines))) { 
    .ignore $+(-pu,$readini($fp,botnetquery,ignoretime)) *!*@* 
    if ($readini($fp,botnetquery,closequery)) .close -m
    if ($readini($fp,botnetquery,inform)) echo $color(info) -at *** ALERT - query flood, ignoring all for $readini($fp,botnetquery,ignoretime) seconds
  }
  if ($readini($fp,query,enabled)) && ($flood($+(query.,$wildsite),$readini($fp,query,seconds),$readini($fp,query,lines))) {  
    .ignore $+(-,$readini($fp,query,ignore),u,$readini($fp,query,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))
    if ($readini($fp,query,closequery)) .close -m $nick    
    if ($readini($fp,query,inform)) echo $color(info) -at *** ALERT - query flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,query,ignoretime) seconds
    if ($readini($fp,query,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,query,ignoretime)) due to a possible query flood.
  }
}
on *:action:*:?:{
  if ($readini($fp,botnetquery,enabled)) && ($flood(query.all,$readini($fp,botnetquery,seconds),$readini($fp,botnetquery,lines))) { 
    .ignore $+(-pu,$readini($fp,botnetquery,ignoretime)) *!*@* 
    if ($readini($fp,botnetquery,closequery)) .close -m
    if ($readini($fp,botnetquery,inform)) echo $color(info) -at *** ALERT - query flood, ignoring all for $readini($fp,botnetquery,ignoretime) seconds
  }
  if ($readini($fp,query,enabled)) && ($flood($+(query.,$wildsite),$readini($fp,query,seconds),$readini($fp,query,lines))) {  
    .ignore $+(-,$readini($fp,query,ignore),u,$readini($fp,query,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))
    if ($readini($fp,query,closequery)) .close -m $nick    
    if ($readini($fp,query,inform)) echo $color(info) -at *** ALERT - query flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,query,ignoretime) seconds
    if ($readini($fp,query,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,query,ignoretime)) due to a possible query flood.
  }
}
on *:text:*:#:{
  if ($readini($fp,botnettext,enabled)) && ($flood(text.all,$readini($fp,botnettext,seconds),$readini($fp,botnettext,lines))) { 
    .ignore $+(-cu,$readini($fp,botnettext,ignoretime)) *!*@* 
    if ($readini($fp,botnettext,inform)) echo $color(info) -at *** ALERT - text flood, ignoring all for $readini($fp,botnettext,ignoretime) seconds
  }
  if ($readini($fp,text,enabled)) && ($flood($+(text.,$chan,$wildsite),$readini($fp,text,seconds),$readini($fp,text,lines))) {  
    .ignore $+(-,$readini($fp,text,ignore),u,$readini($fp,text,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))  
    if ($readini($fp,text,inform)) echo $color(info) -at *** ALERT - text flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,text,ignoretime) seconds
    if ($readini($fp,text,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,text,ignoretime)) due to a possible text flood.
  }
}
on *:action:*:#:{
  if ($readini($fp,botnettext,enabled)) && ($flood(text.all,$readini($fp,botnettext,seconds),$readini($fp,botnettext,lines))) { 
    .ignore $+(-cu,$readini($fp,botnettext,ignoretime)) *!*@* 
    if ($readini($fp,botnettext,inform)) echo $color(info) -at *** ALERT - text flood, ignoring all for $readini($fp,botnettext,ignoretime) seconds
  }
  if ($readini($fp,text,enabled)) && ($flood($+(text.,$chan,$wildsite),$readini($fp,text,seconds),$readini($fp,text,lines))) {  
    .ignore $+(-,$readini($fp,text,ignore),u,$readini($fp,text,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))  
    if ($readini($fp,text,inform)) echo $color(info) -at *** ALERT - text flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,text,ignoretime) seconds
    if ($readini($fp,text,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,text,ignoretime)) due to a possible text flood.
  }
}
on *:notice:*:*:{
  if (*serv !iswm $nick) {
    if ($readini($fp,botnetnotice,enabled)) && ($flood(notice.all,$readini($fp,botnetnotice,seconds),$readini($fp,botnetnotice,lines))) { 
      .ignore $+(-nu,$readini($fp,botnetnotice,ignoretime)) *!*@* 
      if ($readini($fp,botnetnotice,inform)) echo $color(info) -at *** ALERT - notice flood, ignoring all for $readini($fp,botnetnotice,ignoretime) seconds
    }
    if ($readini($fp,notice,enabled)) && ($flood($+(notice.,$wildsite),$readini($fp,notice,seconds),$readini($fp,notice,lines))) {  
      .ignore $+(-,$readini($fp,notice,ignore),u,$readini($fp,notice,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))  
      if ($readini($fp,notice,inform)) echo $color(info) -at *** ALERT - notice flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,notice,ignoretime) seconds
      if ($readini($fp,notice,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,notice,ignoretime)) due to a possible notice flood.
    }
  }
}
on *:chat:*:{
  if ($readini($fp,chat,enabled)) && ($flood($+(chat.,$wildsite),$readini($fp,chat,seconds),$readini($fp,chat,lines))) {  
    .ignore $+(-,$readini($fp,chat,ignore),u,$readini($fp,chat,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))  
    if ($readini($fp,chat,closechat)) .close -c $nick
    if ($readini($fp,chat,inform)) echo $color(info) -at *** ALERT - dcc chat flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,chat,ignoretime) seconds
    if ($readini($fp,chat,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,chat,ignoretime)) due to a possible dcc chat flood.
  }
}
on *:invite:*:{
  if ($readini($fp,botnetinvite,enabled)) && ($flood(invite.all,$readini($fp,botnetinvite,seconds),$readini($fp,botnetinvite,lines))) { 
    .ignore $+(-iu,$readini($fp,botnetinvite,ignoretime)) *!*@* 
    if ($readini($fp,botnetinvite,inform)) echo $color(info) -at *** ALERT - invite flood, ignoring all for $readini($fp,botnetinvite,ignoretime) seconds
  }
  if ($readini($fp,invite,enabled)) && ($flood($+(invite.,$wildsite),$readini($fp,invite,seconds),$readini($fp,invite,lines))) {  
    .ignore $+(-,$readini($fp,invite,ignore),u,$readini($fp,invite,ignoretime)) $mask($fulladdress,$readini($fp,address,mask))  
    if ($readini($fp,invite,inform)) echo $color(info) -at *** ALERT - invite flood, ignoring $nick $chr(40) $+ $mask($fulladdress,$readini($fp,address,mask)) $+ $chr(41) for $readini($fp,invite,ignoretime) seconds
    if ($readini($fp,invite,informlamer)) .notice $nick You are being ignored for $duration($readini($fp,invite,ignoretime)) due to a possible invite flood.
  }
}
; $flood(description,seconds,limit) 
alias flood {
  hadd $+(-mu,$2) $1 $ticks
  var %i = $hget($1,0).item
  var %f
  while (%i) {
    inc %f $hget($1,$hget($1,%i).item)
    dec %i
  }
  if (%f >= $3) { 
    hfree $1
    return $true
  }
}
alias -l fp return $+(",$scriptdirprotection.ini,")