Home pageHelp ForumRichiedi una mail firmata p2pzoneSezione downloadRaccolta guide al P2PContenuti extra

INDICE DI NAVIGAZIONE

 

 

INTRODUZIONE

Metis è un bot per le chat di WinMX. Si esegue come un plugin del client per chat NushiChat.
Perchè il nome "Metis"?
Metis è una dea della mitologia greca. Apparteneva agli Oceanici e ai Titani ed era la personificazione di saggezza, buon consiglio, astuzia e prudenza. Il Bot "Metis" inizialmente era stato progettato per le funzioni di amministrazione nei canali e dato che un amministratore dovrebbe avere tutte le qualità sopra elencate, ho pensato che Metis calzasse a pennello.
Note
I files di configurazione di Metis sono basati su XML. Tali files possono essere modificati in un semplice editor di testo come il Blocco Note di Windows. Comunque se si vuole un po' più di comodità nel modificare I files raccomanderei l'uso di un editor che supporta la sintassi sia di HTML- che di XML-. Personalmente uso un editor freeware chiamato "Programmers Notepad" per modificare I files di configurazione di Metis.
 Puoi scaricare gratuitamente "Programmers Notepad" da www.pnotepad.org.

CONFIGURAZIONI DI BASE

Questo capitolo mostra e spiega i settaggi di base di Metis che puoi utilizzare in MXC.xml per personalizzare il comportamento di Metis.
Il file di configurazione.
I files di configurazione di Metis sono basati su sintassi XML. XML sta per Extensible Markup Language . L'XML è un formato di testo semplice e molto flessibile che deriva dal SGML (ISO 8879). Per maggiori informazioni sull'XML dai un'occhiata alle FAQ (Frequently Asked Questions = Domande fatte di frequente) sull' XML alla pagina : http://www.ucc.ie/xml/
Dalla Versione 2.2 di Metis tutti i files di configurazione di Metis dovrebbero iniziare con la linea <?xml version="1.0" standalone=no> anche se questo non è un requisito essenziale. Dopo di essa i files di configurazione di Metis continuano con l'asserzione <config> e finiscono con </config>. Potrebbe non esserci nulla dopo l'istruzione config nel file (nemmeno un commento!).

Settaggi di base di Metis

Config Editor – Settaggio dell'editor dei files di configurazione

Setta l'editor di testo che Metis userà per aprire i files di configurazione per una eventuale modifica.

Comando: ConfigEditor

Attributo: value

Predefinito: notepad.exe

<ConfigEditor value="C:\PATH\program.exe"/>


Default Command flood protection

NB: Per flood si intende il ripetere un comando più volte. Questo potrebbe dare problemi di instabilità ad una chat.] Questo comando setta l'intervallo di tempo nel quale lo stesso comando non deve essere ripetuto.
L'Attributo rappresenterà l'intervallo di tempo.

Comando: DefaultCmdFloodProt

Attributo: value (tempo in secondi, uguale o maggiore di zero)

Predefinito: 60e

<DefaultCmdFloodProt value="60"/>


EnableBeep - Attivazione del beep degli Speakers al momento dell'avvio e dell'interruzione del bot

Si può attivare/disabilitare il beep emesso dagli speakers al momento dell'esecuzione di Metis.

Comando: EnableBeep

Attributo: value (1 = Attivo, 0 = Disattivo)

Valore predefinito: 1

<EnableBeep value="1"/>


Enable Update Check - Attivazione della ricerca degli aggiornamenti

Attiva/Disattiva la ricerca di aggiornamenti all'avvio

Comando: EnableUpdateCheck

Attributo: value (1 = Attivo, 0 = Disattivo)

Valore predefinito: 1

<EnableUpdateCheck value="1"/>


Riduci a icona

Definisce se Metis si deve ridurre a icona o no.

Comando: MinimizeToTray

Attributo: value (1 = si, 0 = no)

Valore predefinito: 1

<MinimizeToTray value="1"/>


Numemo massimo di variabili utente (Variabili Dinamiche)

Setta il valore delle variabile utente che Metis riserva per archiviare informazioni.

Comando: MaxUserVars

Attributo: value

Valore predefinito: 50

< MaxUserVars value="50"/>


Secure Parameter - Variabile dell'Assicura Parametro

Se l'opzione dell'Assicura Parametro è attiva, Metis rimuoverà tutti i comandi RCMS da un una variabile $PARAMETER$. Questo serve a impedire all'utente il 'contrabbando' di un comando RCMS nell' area Admin del Bot.

Comando: SecureParam

Attributo: value (1 = Attivo, 0 = Disattivo)

Valore predefinito: 1

<SecureParam value="1"/>


SecureNickname - Assicura Nick

Se l'Assicura Nick è settato su Attivo, Metis ignorerà qualsiasi input da utenti ‘non-esistenti'. Metis ignorerà i messaggi nei canali RCMS digitati attraverso il comando #nickname “nome” #message “messaggio”. Nota che Metis non può rispondere con un output RCMS in entrambi i casi.

Comando: SecureNickname

Attributo: value (1 = Attivo, 0 = Disattivo)

Valore predefinito: 0

< SecureNickname value="0"/>


Botoutput Flood protection . Autoprotezione dal flood

Setta il tempo in millisecondi che Metis attende tra un proprio messaggio di risposta e l'altro. Questo serve ad evitare che Metis faccia spamming nel canale con messaggi troppo veloci.

Comando: BotFloodControl

Attributo: value (Uguale o maggiore di 0)

Valore predefinito: 2000 (2 secondi)

<BotFloodControl value="2000"/>


Userlevel Flood Control

Questa opzione definisce quanti comandi un utente può battere in un determinato intervallo di tempo. Se un utente batte più comandi rispetto al numero concesso, Metis ignora ogni input da questo utente per un certo tempo. Ciò serve ad evitare che qualcuno faccia spamming utilizzando il bot.

Comando: UserFloodControl

Attributo 1: TimeFrame (Intervallo di Tempo da misurare, maggiore o uguale a 0)
Attributo 2: MaxTriggerPerFrame (Numero di comandi che un singolo utente può battere nel Lasso di Tempo, maggiore di 1)
Attributo 3: BanTime (Tempo in secondi in cui l'utente che ha superato il numero massimo di comandi viene ignorato, maggiore o uguale a 0)

Valore predefinito 1: 10
Valore predefinito 2: 3
Valore predefinito 3: 240

<UserFloodControl TimeFrame="10" MaxTriggerPerFrame="3" BanTime="240"/>


BadwordPenalty - Penalità da Parola non ammessa

Attiva e Disattiva la Badword Penalty.

Comando: BadwordPenalty

Attributo 1: enable (1 = Attivo, 0 =Disattivo)
Attributo 2: exclude (Escude gli utenti o i gruppi di utenti indicati dalla penalità, 1 = si , 0 = no)

Valore predefinito 1: 1
Valore predefinito 2: 1

<BadwordPenalty enable="1" exclude="1"/>


Funzione di Autokick di Badword Penalty

Attiva o Disattiva la funzione di Autokick di Badword Penalty. Se è attivato e un utente eccede il suo massimo numero di richiami viene kickkato (espulso) o rediretto dal canale (sono necessarie le RCMS)

Comando: Autokick

Attributo 1: enable (1 =Attivato , 0 = Disattivato)
Attributo 2: warnings (numero di richiami che l'utente ha a disposizione prima di essere espulso, uguale o maggiore di 1)

Valore predefinito 1: 1
Valore predefinito 2: 3

<AutoKick enable="1" warnings="3"/>


Badlanguage warning – Avvertimento di linguaggio non ammesso

Testo che Metis scrive bel canale quando qualcuno digita una parola non ammessa.

Comando: BadLangWarning

Attributo: value

Valore predefinito: Starei attento a quel che scrivi, %NAME%, se fossi in te.

<BadLangWarning value="Starei attento a quel che scrivi, %NAME%, se fossi in te."/>


Badlanuage 'pre-kick' text – Testo-pre-kick per linguaggio on ammesso

Messaggio che Metis scrive all'utente che ha superato il numero massimo di avvisi.

Comando: BadLangPreKick

Attributo: value

Valore predefinito: Sei stato avvisato, %NAME%. Le ultime parole che hai digitato non sono permesse.Ciao.

<BadLangPreKick value="Sei stato avvisato, %NAME%. Le ultime parole che hai digitato non sono permesse.Ciao."/>


Comando di Kick / Redirect

È il comando che Metis utilizza per eseguire la Badword Penalty. Di solito è #usercmd /kick %RAWNAME%. Sono richieste le RCMS e il Bot deve essere amministratore del canale.

Comando: RedirectCommand

Attributo: value

Valore predefinito: #usercmd /kick %RAWNAME%"

<RedirectCommand value="#usercmd /kick %RAWNAME%""/>


Nick Separator – Separa-Nick

Una lista di Caratteri che Metis usa per creare la variabile %NICK%. Metis troncherà il nick di un utente dopo il primo dei “Caratteri-Separatori” che trova nel nick. Si può usare la variabile %NICK% per chiamare un utente in un modo più “naturale”. Ad esempio, se il nick dell'utente è 'nome.con.una.sfilza.di.cose.inutili.000_12345' la variabile %NICK% conterrà solo 'nome' se uno dei “caratteri-separatori” è il “.”.

Comando: NickSeparator

Attributo: value (Caratteri)

Valore predefinito: ._

<NickSeparator value="._ "/>


Trivia Score Message – Risposta alla richiesta di Punteggio

Messaggio da visualizzare quando un utente digita “SCORE” durante un gioco a domande.

Comando: TriviaScoreMsg

Attributo: value (Messaggio)

Predefinito: User score: %SCORE% points

<TriviaScoreMsg value="User score: %SCORE% points"/>


Trivia Answer Time – Tempo di risposta

Tempo in secondi a disposizione di un utente per rispondere a una domanda del gioco.

Comando: TriviaDefaultTime

Attributo: value (tempo)

Valore predefinito: 30

<TriviaDefaultTime value="30"/>


Trivia No Answer Message – Messaggio di nessuna risposta al gioco

Massaggio da visualizzare quando una domanda del gioco non viene risposta.

Comando: TriviaNoAnswer

Attributo: value (Messaggio)

Predefinito: La domanda "e;%QUES$%" non ha avuto risposta. La risposta esatta è %ANS%

<TriviaNoAnswer value="La domanda "e;%QUES$%" non ha avuto risposta. La risposta esatta è %ANS%"/>


Trivia Correct Answer Message – Messaggio di risposta esatta al gioco

Messaggio da visualizzare quando un utente risponde correttamente ad una domanda.

Comando: TriviaCorrect

Attributo: value (Message)

Predefinito: %NAME% risposta esatta (%ANS%)

<TriviaCorrect value="%NAME% risposta esatta (%ANS%)"/>


Trivia Skip Question Message – Messaggio di domanda evitata

Messaggio da visualizzare quando un amministratore di un gioco digita “SKIP” nel gioco a domande per saltare una risposta.

Comando: TriviaSkip

Attributo: value (Message)

Predefinito: question skipped

<TriviaSkip value="domanda evitata"/>


Trivia Next Question Message – Messaggio di domanda successiva

Messaggio da visualizzare al momento della domanda successiva.

Comando: TriviaNext

Attributo: value (Messaggio)

Predefinito: #nickname Trivia #message %QUES%

<TriviaNext value="#nickname Trivia #message %QUES%"/>


Include – Includi

Il comando “include” permette di includere (caricare) un file di configurazione. Si possono organizzare i propri comandi più efficientemente se si memorizzano in files differenti, che poi, in caso di bisogno, possono essere inclusi nel file di configurazione principale.

Comando: Include

Attributo: file (Percorso del file da includere)

Predefinito:

<Include file="file.xml"/>

SINTASSI DI BASE

» Attributi
»
Trigger
»
Risposte

Nome attributo

Descrizione

Valori validi

type

Definisce il tipo di comando

normal (il comando ha una risposta)
random (il comando sceglie una risposta a caso da una lista di risposte)
script (il comando ha risposte multiple)

case

Tutti i triggers dei comandi sono sensibili al caso o no

1 (sensibili al caso)
0 (non sensibili)

usergroup

Limita il comando a un gruppo di utenti

Nome dell’ usergroup

users

Limita il comando a una lista di utenti

Nome degli utenti che hanno accesso al comando separati da un punto e virgola (;)

flood

Protezione dal flood per il comando : il comando puo’ essere attivato solo una volta in un lasso di tempo

(questo può essere applicato solo a <command>)

Intervallo di tempo in secondi

mode

Setta la priorita’ di un comando

(Puo’ essere applicato solo a <command>)

normal (Il comando blocca gli altri comandi finché è in esecuzione, raccomandato)

thread (il comando è eseguito in una propria routine, altri comandi possono essere avviati mentre il comando è in esecuzione. Usalo per scrpts lunghi)

condition

Limita il comando a una condizione : il comando sara’ eseguito solo se la condizione si verifica.

Richiede che il valore di lvalue e rvalue siano settati.

none o lasciato vuoto: nessuna condizione (-1)
!=: non uguale (lvalue non uguale a rvalue) (0)
== : uguale (lvalue uguale a rvalue) (1)
<: più piccolo di(lvalue più piccolo di rvalue) (2)
>: più grande di (lvalue più grande di rvalue) (3)
?: contiene (lvalue contiene rvalue) (4)
!?: non contiene (lvalue non contiene rvalue) (5)
_?: contiene senza caso (lvalue contiene rvalue non sensibile al caso) (6)
!_?: contiene non senza caso (lvalue non contiene rvalue non sensibile al caso) (7)

lvalue

Valore di sinistra per l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

rvalue

Valore di destraper l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

Gli attributi seguenti sono limitati ai tipi di comando speciali:

interval

Si applica solo a<autocommand>

Tempo in secondi a cui l’OnTimer vienesettato. L’intervallo minimo è 60 secondi. Valori inferiori a 60 disabilitano il comando. Puo’anche essere una variabile utente se vuoi modificare l’intervallo durante l’esecuzione.

Trigger

<in>Trigger</in>
 Ricorda:

  • Il trigger ha un carattere riservato: * che puo’ essere usato come un jolly.
  • Se vuoi che un trigger includa il carattere * usa &lowast;.
  • Puoi aggiungere attributi a un trigger. Altri caratteri speciali che devi sostituire in un trigger:

Codici caratteri riservati per il trigger :

*

&lowast;

&lt;

&gt;

/

&frasl;

"

&quote;

Puoi aggiungere attributi a un trigger:
 <in attribute="value">
Attributi trigger

Nome attributo

Descrizione

Valori validi

type

Definisce gli algoritmi compatibili per il trigger

normal (default, il trigger deve esser contenuto nel messaggio)
exact (forza la compatibilita’ della parola esatta)

case

trigger in case sensitive o no

1 (case sensitive)
0 (non case sensitive)

usergroup

Limita il comando a un gruppo di utenti

Nome dell’ usergroup

users

Limita il comando a una lista di utenti

Nome degli utenti che hanno accesso al comando separati da un punto e virgola (;)

condition

Limita il comando a una condizione : il comando sara’ eseguito solo se la condizione si verifica.

Richiede che il valore di lvalue e rvalue siano settati.

none o lasciato vuoto: nessuna condizione (-1)
!=: non uguale (lvalue non uguale a rvalue) (0)
== : uguale (lvalue uguale a rvalue) (1)
<: più piccolo di(lvalue più piccolo di rvalue) (2)
>: più grande di (lvalue più grande di rvalue) (3)
?: contiene (lvalue contiene rvalue) (4)
!?: non contiene (lvalue non contiene rvalue) (5)
_?: contiene senza caso (lvalue contiene rvalue non sensibile al caso) (6)
!_?: contiene non senza caso (lvalue non contiene rvalue non sensibile al caso) (7)

lvalue

Valore di sinistra per l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

rvalue

Valore di destraper l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

Risposte

 <out>Risposta</out>
 Ricorda:

  • Devi sostituire i seguenti caratteri nella risposta

&lt;

&gt;

/

&frasl;

"

&quote;

Puoi aggiungere attributi a una risposta:
<out attribute="value">
Attributi risposte

Nome attributo

Descrizione

Valori validi

type

Definisce il tipo di output : metis ne offre vari tipi

normal: Scrive la risposta alla chat

echo: Scrive la risposta solo nello schermoMXChat (\n vale come linebreak in questo tipo)

tooltip: Mette la risposta sottoforma di tip nella Tray Icon del tuo metis. Il tooltip sara’ mostrato per 10 secondi, se non lo chiudi (Questo è il default di Windows). Puo’ esser mostrato solo un tooltip per volta. (\nà linebreak)

control: Esegue la risposta attraverso l’interprete dei comandi interno.In questo modo puoi mandare un messaggio al bot, come /mxc load <file> per caricare una configurazione differente

self: Esegue la risposta attraverso l’interprete degli scripts interno. Puoi avviare altri comandi in questo modo. (Di solito il bot non puo’ auto avviarsi) .Nota che la risposta non è mandata alla chat prima di essere precessata.

exec: passa la risposta a una‘ShellExecute’. In questa maniera puoi eseguire un programma. Se l’attributo extdata è settato a 1, Metis aspettera’fino a quando il programma sara’terminato, altrimenti Metis eseguira’ il programma e ritornera’ immediatamente.

push: Scrive la risposta in una variabile utente (uservariable). L’attributo extdata deve contenere l’unico nome identificativo della variabile; se la variabile non esiste ancora viene creata.

pop: Pulisce le varibili utente. ). L’attributo extdata deve contenere l’unico nome identificativo della variabile.

I seguenti valori sono disponibili solo se i comando Type e settato su “script”.

Sleep: Blocca l’esecusione di uno script per pochi millisecondi . L’attributo exdata deve esser settato a un valore di tempo in millisecondi (> di zero)

goto: Salta ad un punto dello script. Extdata contiene il numero di risposte ta evitare. Puo’ essere minore o maggiore di zero . Di solito è accoppiato a una condizione.

break:Salta tutte le risposte dopo il break. Di solito è accoppiato a una condizione.

pm: Manda un messaggio privato all’utente specificato nell’aattributo extdata. Nota che deve essere il nome preso per intero (con userid) e che l’utente deve essere presente nella stanza in cui è attivato Metis.

file: Scrive l’output in un file. Il nome del file è definito nell’attributo extdata.Puoi specificare due modi di scrittura neol attributo mode: mode="a" aggiunge il testo alla fine del file. mode="t" à default : sovrascivera’ il file.

extdata

Contiene settaggi addizionali settati sull’attributo type.

 

mode

Applicabile solo setype è settato a file. Definisce in che modo i dati sono scritti nel file :

a: Aggiunge il testo alla fine del file
t: Tronca il file e sovrascrive i dati esistenti (default)

delay

Ritardo in millisecondi che il bot attende prima di dare la risposta. Si applica solo a questi tipi di risposta : normal, echo and exec

Ritardo in millisecondi (> o = a 0)

condition

Limita il comando a una condizione : il comando sara’ eseguito solo se la condizione si verifica.

Richiede che il valore di lvalue e rvalue siano settati.

none o lasciato vuoto: nessuna condizione (-1)
!=: non uguale (lvalue non uguale a rvalue) (0)
== : uguale (lvalue uguale a rvalue) (1)
<: più piccolo di(lvalue più piccolo di rvalue) (2)
>: più grande di (lvalue più grande di rvalue) (3)
?: contiene (lvalue contiene rvalue) (4)
!?: non contiene (lvalue non contiene rvalue) (5)
_?: contiene senza caso (lvalue contiene rvalue non sensibile al caso) (6)
!_?: contiene non senza caso (lvalue non contiene rvalue non sensibile al caso) (7)

lvalue

Valore di sinistra per l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

rvalue

Valore di destraper l’attributo condition

Un numero, una stringa, una delle %USERVAR[n]% o delle altre variabili

GUIDA IN COSTRUZIONE
Ultimo aggiornamento guida 16 febbraio 2005

^TOP^



Guida creata dallo staff di p2pzone.net
Per maggiori informazioni consulare il nostro forum di supporto