Flood Protection

Prima di tutto diciamo che scrivere a riguardo delle flood protection non è generalmente per gli utenti meno esperti... Avrete bisogno di un po' di conoscenza dei remotes e delle variabili di mIRC

Ora, spieghiamo cos'è in pratica una flood protection..

Una flood protection (protezione dalle ripetizioni) è una delle caratteristiche di cui il mIRC è carente, perchè per avere protezione dai flood dovrete usare uno Script esterno, visto che mIRC non ha nemmeno una flood protection (eccetto per il CTCP). I CTCP floods sono gli unici floods che attualmente possono disconnettervi in circostanze normali.

Uno Script per la "flood protection" è uno Script che vi protegge da tutti i tipi di "flood" (ripetizioni od azioni in rapido susseguirsi), dai flood in canale, ai flood di messaggi privati, ai join flood, e tutti gli altri possibili.
Scrivere un buono Script per le flood protection non è generalmente facile, ma quando riuscirete a capire come come farne uno, potrete più facilmente capire come come fare altri (se non tutti) i tipi di flood protection senza molti problemi.

Cosa è un "flood"?
Un "flood" è quando qualcuno parla più e più volte molto velocemente ed in poco tempo.. Molte volte è solo per dare fastidio alle persone, ecco perchè esistono le "flood protection".


Ora passiamo al codice...

Ho deciso di includere un semplice messaggio remote di flood protection nella quale scrivo per spiegare cosa ogni parte di codice fa, e come fare per ottenere ciò. I've decided to include a simple message flood protection remote in which I wrote to explain what everything does, and how to do it.
(sarebbe bene invece di copiare ed incollare solo il codice...imparare come funziona e provare a farne uno proprio)

on 1:TEXT:*:?: { if (% [ $+ [ msg. [ $+ [ $nick ] ] ] ] == $null) { inc % [ $+ [ msg. [ $+ [ $nick ] ] ] ] | .timer 1 300 unset % [ $+ [ msg. [ $+ [ $nick ] ] ] ] }

- Questa prima linea del codice controlla se i nick ti hanno messaggiato negli ultimi 5 minuti.. Se non lo hanno fatto, setta una variabile con i nick e la rimuove dopo 5 minuti.

elseif (% [ $+ [ msg. [ $+ [ $nick ] ] ] ] > 5) { if ($nick isignore) { halt } | else { ignore -tu15 $nick 3 } }

- Questa linea controlla se il nick ha oltrepassato il numero di messaggi consentiti (in questo caso 5) dentro a questo periodo di 5 minuti.. Se lo hanno fatto (e non sono già stati messi in ignore), li mette in ignore per 15 secondi.

else { inc % [ $+ [ msg. [ $+ [ $nick ] ] ] ] }

- Se la persone non è andata oltre il numero di messaggi consentiti, viene incrementato il numero di messaggi che la persona ha mandato entro i 5 minuti.

- L'unica variabile che è settata nei remote è

%msg. }

Opzioni per la protezione flood..

Per fare uno Script per le protezioni da flood, bastano 2 semplici opzioni..
1. Quanti messaggi sono consentiti ad una persona da mandare in un certo periodo di tempo..

if (% [ $+ [ msg. [ $+ [ $nick ] ] ] ] > %number_of_messages_allowed)

2. Quanto lungo è questo periodo di tempo..

timer 1 %time_period unset % [ $+ [ msg. [ $+ [ $nick ] ] ] ]

Molte delle protezioni da flood sono basicamente simili a questa.
L'unico tipo che non lo è, è il "repeat flood protection". Ha bisogno di una piccola parte di codice aggiuntiva (comunque non molto lunga) che sarete sicuramente in grado di scrivere.
 

 


2001 Mondo IRC®. All rights reserved.
Mondo IRC non e' collegato ai siti linkati e non e' responsabile del loro contenuto.
E' vietata la riproduzione anche parziale.