AntiFlood for Mirc

By kibo on Aug 27, 2012

This file is part of ProScript ver 0.1 by kibo

;ProScript ver 0.1
;Autore: kibo
;File: Pro_AntiFlood ver 0.1

alias Pro_AntiFlood { dialog -m Pro_AntiFlood Pro_AntiFlood }

;Dialog
dialog Pro_AntiFlood {
  title "ProScript - ProAntiFlood"
  size  -1 -1 100 60
  option dbu
  box "ProAntiFlood", 1, 1 0 98 50
  button "Ok", 4, 70 50 30 10, ok
  text "ProAntiFlood", 11, 1 52 30 8, disable
  check "AntiFlood - Query", 12, 10 12 60 10 push
  check "AntiFlood - Richiamo Nick", 13, 10 26 80 10 push
}

on *:dialog:Pro_AntiFlood:*:*: { 
  if ($devent == init) { } ;ripristino valori dei check asseconda se il gruppo è attivato o meno
  if ($devent == sclick) {        
    if ($did(12).state == 1) { .enable #QAflood } 
    else { .disable #QAflood }  
    if ($did(13).state == 1) { .enable #Aflood_me_chan } 
    else { .disable #Aflood_me_chan }
  } 
}

/*
Se abilitato (settato ad on) il sottostante alias fornisce un protezione antiflood
in una sessione di chat privata (query) con un altro utente.
In specifico la protezione si attiva quando si ricevono in privato un numero di messaggi
a distanza di tempo inferiori ad un certo intervallo.

NOTA BENE: 
E' possibile cambiare i valori della variabile di setting e del tempo dell' ignore,
si rammenta che l'adozione di valori eccessivamente piccoli o eccessivamente
grandi potrebbe compromettere la funzionalità logica dello script in questione. 
*/

#QAflood on

on *:TEXT:*:?: {
  if ( %Pro_flood_query_ [ $+ [ $nick ] ] ) { 
    if (%Pro_flood_query_ [ $+ [ $nick ] ] <= 7) { inc %Pro_flood_query_ [ $+ [ $nick ] ] } ;max 7 ripetizioni
    if (%Pro_flood_query_ [ $+ [ $nick ] ] == 8) { .!ignore -u20 $nick | msg $nick 4ATTENZIONE : 15 $nick Ho rilevato attività di flodding , sarai ignorato da $me per 20 secondi .::ProScript::. ver 0.1 [by kibo] }
  }
  else { set -u10 %Pro_flood_query_ [ $+ [ $nick ] ] | inc %Pro_flood_query_ [ $+ [ $nick ] ] }
}

#QAflood end

/*
Se abilitato (settato ad on) il sottostante alias fornisce un protezione antiflood
del "richiamo nick" in un canale.
In specifico la protezione si attiva quando in un canale un utente menziona il vostro nickname
ripetutamente a distanza di tempo inferiore ad un certo intervallo.
*/

#Aflood_me_chan on

on *:TEXT:*:#: {
  if ($me isin $1-) {
    if ( %Pro_flood_me_ [ $+ [ $nick ] ] ) { 
      if (%Pro_flood_me_ [ $+ [ $nick ] ] <= 7) { inc %Pro_flood_me_ [ $+ [ $nick ] ] } ;max 7 ripetizioni
      if (%Pro_flood_me_ [ $+ [ $nick ] ] == 8) { .!ignore -u20 $nick  | msg $chan 4ATTENZIONE : 15 $nick Ho rilevato attività di flodding , sarai ignorato da $me per 20 secondi .::ProScript::. ver 0.1 [by kibo] }
    }
    else { set  -u10 %Pro_flood_me_ [ $+ [ $nick ] ] | inc %Pro_flood_me_ [ $+ [ $nick ] ] }
  }
}
#Aflood_me_chan end

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.