Pagina 1 di 2

[BOT] Aggiornamenti

Inviato: 11/03/2010, 15:00
da BuDuS
Il BOT per BuDuScRiPt è un insieme di Bash Script e MACRO Parametriche BuDuScRiPt che consentono di simulare le funzionalità dei classici IRC BOT.

Alcuni utenti mi hanno fatto notare che non è semplice capire cosa viene aggiornato da una versione all'altra (non essendoci un ChangeLog come nel plug-in) e comunque non è banale intervenire in caso di problemi.

Per facilitare l'aggiornamento del BOT ho pensato di aprire questo annuncio nel quale, per ogni rilascio, andrò ad aggiungere un post - il cui titolo identificherà la relativa versione - nel quale descriverò quali sono le modifiche introdotte ed, eventualmente, quali operazioni aggiuntive sono necessarie per rendere operativo il BOT.

Di seguito indicherò i classici comandi necessari per installarlo; in caso di problemi è comunque possibile fare segnalazioni nell'apposita sezione dedicata al BOT qui sul forum.

Scaricato il file ".tar.gz", procedere come segue (do l'esempio per la versione 11.0, chiaramente bisognerà operare di conseguenza):

Codice: Seleziona tutto

tar xvzf buduscript_bot-11.0.tar.gz -C $HOME/.xchat2

Se si tratta della prima installazione è necessario operare anche i seguenti comandi:

Codice: Seleziona tutto

cd $HOME/.xchat2/buduscript
./bot_configure_easy.sh

L'ultimo comando lancia una procedura guidata che consente di creare una configurazione funzionante. La medesima procedura chiede anche se si vuole aggiungere in automatico una voce alla "Network List" di X-Chat (quella usata per collegarsi ai Network IRC); consiglio di usarla se non si è in grado di aggiungerla manualmente (è comunque necessario leggere il README.bot per crearla opportunamente).

La voce aggiunta, oltre a configurare Server IRC, canale, nickname del BOT ed eventuale password, deve avere come fondamentale requisito quello di lanciare in automatico il seguente comando:

Codice: Seleziona tutto

/budus macro bot

La MACRO bot.mcr è quella che ha il compito di caricare il BOT. Esegue le seguenti operazioni:
  • Verifica la presenza di "budus_setup.sh" e, se non lo trova, ne crea uno. E' un file che ha il compito di configurare i parametri personalizzabili degli Script che compongono il BOT.
    Di norma i parametri sono configurati in modo ottimale per le esigenze più comuni; l'utente ha però la possibilità di personalizzare suddetto file, senza il rischio che venga sovrascritto da futuri aggiornamenti.
  • Verifica la presenza di "budus_config.mcr" e, se non lo trova, ne crea uno. E' un file che ha il compito di configurare i parametri operativi del BOT. E' infatti necessario, per il suo funzionamento, che le variabili BuDuScRiPt vengano opportunamente configurate.
    Di norma i parametri sono configurati in modo ottimale per le esigenze più comuni; l'utente ha però la possibilità di personalizzare suddetto file, senza il rischio che venga sovrascritto da futuri aggiornamenti.
  • Caricare i "Messaggi Privati" eventualmente salvati in precedenza. I "Messaggi Privati" sono quelli che gli utenti possono scambiarsi tramite il comando !msg.
  • Creare le Sentinelle di protezione del BOT (flood, BAN, KICK, ecc...)
  • Creare le Sentinelle per tutti i comandi di base. I comandi saranno operativi nei canali amministrati solo quando effettivamente aggiunti con le opportune MACRO (leggere README.bot per ulteriori informazioni), cosa che può essere fatta anche attraverso l'uso di "bot_configure_easy.sh".
  • Creare le Sentinelle per la gestione del BADNICK e del BADCHANNEL.
  • Creare le Sentinelle e modificare la configurazione in modo che alcuni comportamenti del BOT non possano causare problemi (ex: risponde a se stesso creando dei loop, ecc....)
  • Scaricare il menu di BuDuScRiPt. Il client su cui gira il BOT non può essere usato per "chattare" normalmente. E' indispensabile lanciare una copia di X-Chat nella quale caricare il BOT e nella quale l'intervento diretto dell'utente deve essere minimo o proprio nullo.
  • Lanciare la MACRO botconnect.mcr ; la creazione di questa MACRO è a cura dell'utente, non viene mai sovrascritta dagli aggiornamenti e rappresenta il file principale con il quale l'utente decide dove e come si deve collegare il BOT, quali servizi effettivamente offrire, ecc....
  • Verificare la presenza di una nuova versione del BOT.
  • Aggiungere l'auto-controllo sugli IGNORE (per evitare che utenti con Privilegio siano erroneamente ignorati dal BOT).
  • Aggiungere l'auto-controllo del Database del BOT. Ogni notte, dalle 4 alle 5, il BOT provvede a pulire il suo Database dalle informazioni non indispensabili al suo funzionamento. Se installato "bzip2", provvede anche a fare un backup dei files di LOG nella cartella "$HOME/tmp".
Ricordo che il BOT va sempre chiuso, dall'utente indicato come amministratore, tramite il comando !shutdown, altrimenti si rischia di perdere informazioni o rovinare il database, compromettendone il funzionamento.

[BOT] 11.7

Inviato: 11/03/2010, 15:17
da BuDuS
  • Aggiunto il comando !ban
    Consente di elencare i BAN eventualmente presenti nel canale corrente, aggiungerne o rimuoverne.

    Elencare i BAN eventualmente presenti:

    Codice: Seleziona tutto

    !ban list


    Aggiungere un BAN; Il parametro "nickname!host@domain" è la maschera di BAN; questo comando è consentito solo agli utenti che hanno un Privilegio uguale o superiore al 3.

    Codice: Seleziona tutto

    !ban add nickname!host@domain


    Togliere un BAN; Il parametro "nickname!host@domain" è la maschera di BAN; questo comando è consentito solo agli utenti che hanno un Privilegio uguale o superiore al 4.

    Codice: Seleziona tutto

    !ban add nickname!host@domain


Affinché il comando BAN sia disponibile anche laddove il BOT è già stato installato (quindi siamo in presenza di un aggiornamento) è necessario che nel file botconnect.mcr venga aggiunta una riga simile alla seguente:

Codice: Seleziona tutto

/budus macro addban #nomecanale

[BOT] 11.8

Inviato: 29/03/2010, 18:53
da BuDuS
La principale novità di questa versione consiste nella possibilità di redirigere l'output di alcuni comandi ad uno specifico utente, presente nel canale.
Ad esempio ora è possibile usare il comando !search in questo modo:

Codice: Seleziona tutto

!search buduscript > BuDuS

così che il risultato della ricerca della stringa "buduscript" sia inviato privatamente all'utente "BuDuS".

Gli altri comandi che supportano la redirezione sono: !admin, !fm, !help, !voc, !deb, !faq, !rpm e !seen .

Il comando !invite ora controlla che l'utente invitato non sia impossibilitato ad entrare nel canale da una maschera di BAN; nel caso, la elimina in automatico.

Il comando !guide, se non trova la guida richiesta, utilizza il nome della guida fornito come pattern di ricerca, provando ad individuare una guida - o anche più di una, se necessario - che lo soddisfa e proponendola all'utente.

[BOT] 11.9

Inviato: 12/04/2010, 18:24
da BuDuS
Il comando !ban viene ora utilizzato per gestire anche i BADCHANNEL:

Codice: Seleziona tutto

!ban add #nomecanale
!ban del #nomecanale

e supporta la "redirezione" sul sub-comando list:

Codice: Seleziona tutto

!ban list > BuDuS

***
Il comando !seen ha subito qualche correzione; in alcuni casi non si accorgeva della presenza nel canale dell'utente cercato.
***
Il comando !msg ora verifica che l'utente che lo utilizza abbia almeno il voice, oppure, sia abilitato ad un qualsiasi altro comando speciale; questo comporta che, privatamente, solo utenti con un livello uguale o superiore al 4 possono inviare messaggi.
Questa restrizione si è resa necessaria per mitigare l'abuso che può essere fatto del comando da parte di "malintenzionati".
***
Lo script di supporto botask.sh è stato corretto e intercetta ora tutti i comandi standard attualmente supportati.
Questo script va usato in questo modo:

Codice: Seleziona tutto

cd $HOME/.xchat2/buduscript
./botask.sh

e mostra chi, come e quando ha usato il BOT. È molto utile per controllare come viene usato il BOT e, soprattutto, verificare se qualcuno lo "maltratta".
È stato segnalato che qualcuno si diverte a provocare il crash del BOT con dei comandi eseguiti in QUERY (privatamente).
Purtroppo non mi è stato segnalato come esattamente avviene la cosa, quindi non ho potuto fare nessuna verifica per determinare se anche la versione 11.9 è vulnerabile a questi attacchi.
Tuttavia, grazie anche alle modifiche esposte di seguito, si è cercato di introdurre una serie di migliorie tese ad eliminare - o comunque mitigare - il problema.
Lo script "botask.sh" può risultare utile per verificare queste attività, soprattutto a seguito di un crash; sarebbe molto utile se mi si facesse pervenire il risultato del controllo, nel caso in cui si venga oggetto di queste "attenzioni".

***
Il comando !news ora consente di leggere una news anche senza specificare il sub-comando get:

Codice: Seleziona tutto

!news 123

se il secondo parametro non è un sub-comando, da per scontato sia il codice di una news.
***
In QUERY (privato) il comando !ver non era gestito, lo era soltanto il !version (che fa la medesima cosa).
***
Il comando !help ora supporta la guida per il comando !ban.
***
Sempre al fine di ridurre la possibilità che il BOT sia preso di mira da rompiscatole, il sistema anti-flood è stato migliorato e viene fatta maggiore attenzione ai tempi di esecuzione dei comandi, soprattutto quelli eseguiti in QUERY (privatamente).
Anche il plug-in è stato oggetto di numerose migliorie, molte delle quali potrebbero aver eliminato la possibilità che il BOT vada in crash semplicemente inondandolo di comandi. È quindi caldamente consigliato effettuare anche l'upgrade del plug-in, oltre a quello del BOT.

***
È stata aggiunta una protezione contro la rimozione dello stato di OP del BOT; Se qualcuno effettua il DEOP del BOT, in automatico questo ri-entra nel canale e toglie l'OP a chi ha operato la modifica.
Se, per qualche motivo, si vuole interrompere le funzionalità del BOT, ricordo che è possibile utilizzare il comando !stop.
Tuttavia, l'esecuzione di questo comando, comporta che il BOT potrà essere riattivato esclusivamente da chi ha accesso direttamente al client x-chat del BOT, tramite il comando:

Codice: Seleziona tutto

/budus event 1

***
Lo script preposto alla pulizia del database è stato rivisto e ottimizzato.
È stata aggiunta la possibilità di inibire il messaggio emesso durante la pulizia del database tramite una variabile del setup:
Disabilita i messaggi (default)

Codice: Seleziona tutto

database_clean_message=N

Abilita i messaggi

Codice: Seleziona tutto

database_clean_message=Y

* IMPORTANTE *
Questa variabile va scritta nel file budus_setup.sh - nel caso in cui si stia aggiornando il BOT - nella sezione "budus_db_clean.sh".
Si può prendere sempre esempio dal file budus_setup.base, che è la versione aggiornata con tutte le variabili, da prendere come base.

***
Il sistema BADCHANNEL è ora case-insensitive.
Mi è stato segnalato che non funzionava correttamente se, nel file "badchannel.txt" veniva scritto il nome del canale senza rispettare minuscole/Maiuscole.

[BOT] 12.0

Inviato: 19/04/2010, 18:45
da BuDuS
Prego di leggere attentamente le istruzioni riportate di seguito prima di effettuare l'aggiornamento del BOT, perché sono determinanti per un corretto funzionamento (sarà necessario apportare alcune modifiche ai files di configurazione).

ADD: Comando !idle
Serve per verificare se, nel canale nel quale viene lanciato, sono presenti utenti che non fanno assolutamente nulla da "troppo tempo" (dove il "troppo tempo" è un lasso temporale configurabile).
Se un utente viene individuato, lo script esegue un comando (configurabile) nel quale è possibile utilizzare le seguenti parole chiave: /NICKNAME/, /DAY/, /HOUR/, /MINUTE/, /SECOND/, /HOSTNAME/, /CHANNEL/, /NETWORK/, /SERVER/ .
Il medesimo comando consente anche di amministrare, aggiungendo (subcomando add) o togliendo (subcomando del), il canale nel quale viene lanciato da una lista di canali che saranno controllati in automatico, ad una cadenza periodica (configurabile).

Affinché il comando !idle sia operativo è necessario:
  • Aggiornare il file di setup del BOT (budus_setup.sh) aggiungendo le seguenti righe:

    Codice: Seleziona tutto

    ######################################################################
    # budus_idle.sh

    # Numero massimo di secondi oltre il quale un utente e' considerato in
    # stato di idle da troppo tempo.
    max_seconds_idle_time=172800
    # Numero di secondi che devono trascorrere tra un auto-controllo e
    # l'altro.
    idle_check_auto_time=3600
    # Comando da eseguire quando un utente supera il limite dell'idle.
    idle_command="/SAY Qualcuno mi spiega cosa vive a fare%B /NICKNAME/%O ? E' assente da /DAY/ giorni, /HOUR/ ore, /MINUTE/ minuti e /SECOND/ secondi. Il suo hostname e' [/HOSTNAME/ (/NETWORK/ /SERVER/ /CHANNEL/)]"

    (chiaramente è possibile personalizzare i valori delle variabili per modificare il comportamento del comando)
  • Nel botconnect.mcr prevedere il caricamento del comando, con una riga simile alla seguente:

    Codice: Seleziona tutto

    /budus macro addidle #nomecanale

MOD: Le procedure di chiusura (botoff.mcr e botquit.mcr) non emettono più nessun messaggio pubblico durante la chiusura; sono rimasti solo quelli privati all'Amministratore.

FIX: Lo script addmyservice.sh (che serve per creare propri comandi del BOT) creava degli script contenenti errori nelle "righe di esempio da modificare" (ciò significa che, dovendole cambiare, di fatto i comandi creati non contengono errori derivanti da questo problema). È stato inoltre soggetto a dei miglioramenti per rendere gli script generati più leggibili.

MOD: Lo script bot_configure_easy.sh è stato aggiornato per supportare il comando !idle .

MOD: Lo script botask.sh è stato aggiornato per supportare il comando !idle .

MOD: Lo script budus_rss.sh (incaricato della gestione degli RSS e quindi anche del comando !rss) è stato profondamente rivisto.
È stato migliorato il supporto ai feed RSS, le prestazioni ed il funzionamento in generale, con l'aggiunta di alcuni parametri che possono modificarne il comportamento.
Affinché il servizio funzioni (se già era attivo) è assolutamente necessario procedere come segue:
  • Aprire un terminale e dare i seguenti comandi:

    Codice: Seleziona tutto

    cd $HOME/.xchat2/buduscript
    mv -vf rss.txt rss.old
    gedit rss.old

    in modo da rinominare il vecchio file di configurazione ed aprirlo con un editor (ho usato gedit, ma qualsiasi altro va bene).
  • Ogni riga del file rss.old contiene il nome di un canale, il carattere chiocciola ("@") ed il link al feed RSS; per ogni coppia canale/link è necessario, come Amministratore del BOT, aggiungere il feed RSS ai rispettivi canali. Ad esempio se abbiamo "#miocanale@http://mioblog.com" dovremo andare in "#miocanale" e dare il seguente comando:

    Codice: Seleziona tutto

    !rss add http://mioblog.com

    N.B.: non è più possibile modificare manualmente il file rss.txt perché viene gestito direttamente dal BOT con l'uso di una certa sintassi.
  • Aggiornare il file di setup del BOT (budus_setup.sh) aggiungendo le seguenti righe nella sezione dedicata a budus_rss.sh:

    Codice: Seleziona tutto

    # Numero di articoli da mantenere in archivio; gli articoli presenti
    # in archivio, non saranno pubblicati piu' volte. Piu' il valore e'
    # basso e maggiore e' il numero di articoli fornito dalla sorgente
    # RSS, maggiore sara' la possibilita' che il medesimo articolo sia
    # segnalato e viceversa.
    rss_database_size=50
    # Stabilisce se e' ammesso pubblicare un RSS contenuto nell'archivio
    # dei RSS pubblicati; se viene configurata ad un valore diverso da Y,
    # i post gia' pubblicati non lo saranno nuovamente se contenuti nel
    # citato archivio.
    rss_post_old_news=Y
    # Stabilisce se, per un canale nel quale sono stati configurate piu'
    # sorgenti RSS, deve stampare ogni rispettivo nuovo articolo (N) o
    # limitarsi a pubblicare al massimo una news per canale (Y).
    rss_post_one_news=N

MOD: Lo script budus_query.sh è stato aggiornato per supportare il comando !idle e per correggere alcuni problemi.

MOD: Lo script budus_check_ignore.sh , quando individua un utente ignorato che non dovrebbe esserlo, comunica la cosa solo in forma privata.

MOD: Lo script budus_help.sh , incaricato della gestione del comando !help, è stato aggiornato per rispecchiare i comandi modificati o nuovi.

MOD: Lo script budus_flood.sh è stato aggiornato per gestire i comandi nuovi.

MOD: Lo script budus_validate.sh , responsabile della gestione dell'autenticazione degli utenti (tutti gli script che richiedono un livello di privilegio per essere usati, invocano suddetto), ora supporta l'autenticazione tramite NickServ. In altri termini: laddove il server IRC supporta il NickServ, non si dovranno più attendere i 70 secondi, ma si potrà usufruire immediatamente dei comandi speciali offerti dal BOT.

FIX: Nella versione 11.9 era stata introdotta una protezione che, nel momento in cui si intercettava il DEOP del BOT, quest'ultimo eseguiva un "CYCLE" del canale e rimuoveva lo stato di OP a chi glielo aveva tolto. Su alcuni server irc, questo comportamento, provocava un "loop infinito di re-join" fastidioso.

MOD: La verifica del BADCHANNEL viene effettuata anche quando un utente cambia nickname.

[BOT] 12.1

Inviato: 13/05/2010, 22:15
da BuDuS
Elenco modifiche:
FIX: Il controllo degli utenti in IDLE dava problemi a seguito della pulizia del database.

FIX: viewtopic.php?f=4&t=39

FIX: viewtopic.php?f=4&t=38

Il file di configurazione budus_setup.sh va aggiornato aggiungendo alla sezione "budus_rss.sh" il seguente codice:

Codice: Seleziona tutto

# Lasso di orari nei quali il servizio puo' inviare le news
# intercettate; di default e' impostato rispettivamente a 00 e 24 e
# cio' significa che puo' inviarle sempre; ad esempio, per inviare
# solo nel pomeriggio e sera, lo si puo' impostare a 12 e 24.
rss_hour_start_posting=00
rss_hour_end_posting=24

se lo si desidera, si possono modificare i valori per ridurre l'emissione di news RSS solo in orari più consoni, ad esempio quando c'è il maggior numero di utenza nel canale o l'esatto contrario, a seconda delle proprie politiche di gestione.

[BOT] 12.2

Inviato: 01/11/2010, 16:23
da BuDuS
Elenco modifiche:

MOD: I seguenti script:
  • budus_badflood.sh
  • budus_ignore.sh
  • budus_kick.sh
  • budus_seen.sh
  • budus_op.sh
  • myservice_test.sh
  • budus_ban.sh
  • budus_cmd.sh
  • budus_deb.sh
  • budus_shutdown.sh
  • budus_faq.sh
  • budus_ftp.sh
  • budus_welcome.sh
  • budus_invite.sh
  • budus_spam.sh
  • budus_msg.sh
  • budus_rpm.sh
  • budus_admin.sh
  • budus_guide.sh
  • budus_news.sh
  • budus_voc.sh
  • budus_query.sh
  • budus_check_ignore.sh
  • budus_freshmeat.sh
  • budus_help.sh
  • budus_flood.sh
  • budus_idle.sh
  • bot_database_clean.sh
  • budus_peak.sh
  • budus_badword.sh
  • budus_date.sh
sono stati aggiornati per rispettare il nuovo formato di output, nella finestra terminale, che indica l'ora in cui ne è avvenuta l'esecuzione.

ADD: Lo script addmyservice.sh ora verifica se sussistono le condizioni per una corretta creazione del comando personalizzato dell'utente; in particolare, viene verificato che siano presenti i permessi in scrittura nella directory corrente e che non si stia operando come utente root.

ADD: Lo script bot_configure_easy.sh ora verifica se sussistono le condizioni per una corretta creazione della configurazione del BOT; in particolare, viene verificato che siano presenti i permessi in scrittura nella directory corrente e che non si stia operando come utente root.

MOD: Lo script bot_configure_easy.sh è stato aggiornato a livello di sintassi del codice, per rispecchiare meglio lo standard UDA'Software nella scrittura di BASH Script.

-: Lo script budus_rss.sh è stato ampiamente rivisto:
  • FIX: Il processo di verifica del download dei FEED RSS non funzionava correttamente. Questo comportava un'uscita prematura dello script, prima che avvenisse l'auto-invocazione.
  • ADD: Tramite la variabile "rss_debug_mode" è possibile fare in modo che, nella finestra terminale, vengano scritte ulteriori informazioni di debug sul funzionamento dello script, al fine di verificare eventuali comportamenti anomali.
    È opportuno modificare il file "budus_setupt.sh", nella sezione dedicata al file budus_rss.sh, aggiungendo le seguenti righe:

    Codice: Seleziona tutto

    # Attiva la modalita' di DEBUG run-time del sistema RSS Feed. Va
    # attivata solo nel caso in cui lo script abbia anomalie di
    # funzionamento e si debba comunicare il log di informazioni
    # necessarie per risolvere il problema. Non abilitarlo se non dietro
    # consiglio di UDA'Software.
    rss_debug_mode=0
  • ADD: Funzione per l'auto-invocazione temporizzata dello script; questo consente di gestire più comodamente, all'interno del codice, quando chiamare l'auto-invocazione (uso interno).
  • ADD: Se lo script individua che la propria esecuzione è ad opera di XChat 1.x, provvede a convertire il testo dei FEED RSS da UTF-8 a ISO-8859 (questa funzionalità non sempre funziona correttamente, spesso genera messaggi di errore, ma non dovrebbe compromettere il funzionamento dello script).

MOD: La MACRO saluto.mcr ora consente di specificare, come secondo parametro, il comando da utilizzare per eseguire il saluto; di default è previsto l'uso del comando "/NOTICE" ma, ad esempio, è possibile usare il "/SAY" se si vuole un saluto semplice ma di tipo pubblico (scritto nel canale).

MOD: Lo script budus_validate.sh, abbondantemente testato, ora non scrive più messaggi di debug nella finestra terminale.

-: La MACRO bot.mcr, il file principale del BOT, ha subito le seguenti modifiche:
  • ADD: Procedura di pulizia delle directory temporanee.
  • ADD: Disabilitazione del Sistema eSpeak.
  • ADD: Procedura per il tentativo di rimuovere eventuale BAN che impedisca al BOT di entrare nel canale configurato per il JOIN.

MOD: Lo script budus_db_clean.sh, incaricato della pulizia del Database del BOT, ora salva le informazioni con un sistema leggermente ottimizzato.

[BOT] 12.3

Inviato: 13/11/2010, 0:43
da BuDuS
ATTENZIONE: È necessario aggiornare il plug-in almeno alla versione 3.3.00 per utilizzare la versione 12.3 del BOT e seguire attentamente le istruzioni spiegate di seguito.

Elenco modifiche:

ADD: Il file di configurazione di default bot_config.base è stato modificato aggiungendo le seguenti righe:

Codice: Seleziona tutto

# Inibisce l'eliminazione dei comandi presenti nella Coda dei Comandi
#  che risultano associati ad una sessione non piu' esistente; se non
#  si esegue questa inibizione, alcuni servizi possono presentare
#  anomalie nel caso in cui il BOT sia disconnesso dal server.
/budus keepcmdqueue 1

È fondamentale apportare la medesima modifica al file bot_config.mcr affinché il BOT funzioni correttamente.

FIX: Lo script budus_rss.sh ora non emette più messaggi di errore quando i dati vengono convertiti in "ISO-8859-1".

FIX: Lo script budus_rss.sh, nel momento in cui falliva a scaricare i Feed RSS, si auto-invocava, producendo nel tempo chiamate multiple che potevano comportare esaurimento delle risorse IRC (flood, ecc...).

MOD: Il file di configurazione di default budus_setup.base ha visto modificare il valore della variabile max_database_storage da "65536" a "1024"; sarà quindi necessario modificare questa variabile, nel proprio file budus_setup.sh, in questo modo:

Codice: Seleziona tutto

max_database_storage=1024

La variabile max_database_storage serve per determinare, dopo che il BOT pulisce il proprio database, quanti dati utenti devono rimanere memorizzati; queste informazioni vengono utilizzate dal comando !seen.
Più è alto il valore, quanti più utenti vengono memorizzati e quanto più facilmente il comando !seen è in grado di individuare informazioni sugli utenti cercati tuttavia, l'aumento di questa variabile, comporta un rallentamento del BOT e dello stesso comando !seen .
Un database di grandi dimensioni, inoltre, causa un peggioramento generale sulle prestazioni del BOT, quindi è consigliato mantenerlo "quanto più snello possibile"; un valore di 1024 dovrebbe essere più che sufficiente per le esigenze più comuni, anzi, ridurlo anche a 512 può essere una buona idea se nel proprio canale il !seen viene usato poco.


MOD: Lo script budus_db_clean.sh ha subito delle modifiche per quanto concerne l'output di debug.

[BOT] 12.4

Inviato: 20/11/2010, 20:50
da BuDuS
Elenco modifiche:
  • ADD: addmyservice.sh: ADD: Gli script creati supportano la sintassi per abilitare un comando a qualsiasi utente.
  • ADD: budus_ignore.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_kick.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_op.sh: Supporto all'abilitazione per qualsiasi utente.
  • FIX: myservice_test.sh: La gestione del parametro "database" non funzionava.
  • ADD: budus_ban.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_invite.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_spam.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_msg.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_admin.sh: Supporto all'abilitazione di un comando a qualsiasi utente.
  • ADD: budus_guide.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_news.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: budus_voc.sh: Supporto all'abilitazione per qualsiasi utente.
  • ADD: README.bot: Guida relativa all'abilitazione dei comandi privilegiati a chiunque.
  • MOD: budus_validate.sh: Messaggio emesso in presenza di un database corrotto.
  • FIX: budus_idle.sh: Canali contenenti caratteri speciali provocavano malfunzionamento.
  • ADD: budus_idle.sh: Supporto all'abilitazione per qualsiasi utente.

Sottolineo come, più volte richiesto, ora è possibile abilitare l'uso di un comando privilegiato a qualsiasi utente; ad esempio, quello maggiormente richiesto, è il comando !news, che ora potete abilitare a chiunque tramite il comando !admin:

Codice: Seleziona tutto

!admin @ add news

In questo modo tutti potranno - a vostro rischio e pericolo - usare il comando !news. Al posto di news, allo stesso modo, è possibile abilitare l'uso indiscriminato di: !idle , !voc , !guide , !msg , !spam , !invite , !ban , !op , !kick ed !ignore, nonché qualsiasi comando personalizzato voi andiate a creare.

Se il comando personalizzato lo avete già creato e desiderate aggiungere il supporto a questa funzionalità, nel vostro file "myservice_NOMECOMANDO.sh" dovete modificare la riga simile a questa:

Codice: Seleziona tutto

findnick=$(grep -iFe "all:" -iFe "${channel}:" ${script_path}/operator.lst | grep -iFe "/${remote_user}/" -iFe "/${remote_user}>test/")

in questo modo:

Codice: Seleziona tutto

findnick=$(grep -iFe "all:" -iFe "${channel}:" ${script_path}/operator.lst | grep -iFe "/${remote_user}/" -iFe "/${remote_user}>test/" -iFe "/@>test/")

cioè aggiungendo un pezzo di codice che risponde a questa sintassi:

Codice: Seleziona tutto

 -iFe "/@>NOMECOMANDO/"


Ho anche aggiornato i giochi, raggruppandoli in un unico pacchetto (buduscript_games-?.tar.gz), al cui interno, è presente una MACRO e uno Script che forniscono il comando !game, con il quale amministrare i giochi.
Una volta installato il pacchetto è possibile abilitarlo per il proprio canale con un comando simile al seguente (che va scritto nel proprio botconnect.mcr, chiaramente):

Codice: Seleziona tutto

/budus macro addmyservice game #nomecanale


Se riscontrate problemi, vi invito a segnalarmeli anche qui sul Forum, in modo che anche altri ne vengano a conoscenza.

[BOT] 12.5

Inviato: 13/03/2011, 23:49
da BuDuS
A seguito di alcune segnalazioni ho corretto delle anomalie; ecco le modifiche eseguite:
  • MOD: budus_rss.sh: La gestione dei feed RSS non funzionava correttamente.
  • MOD: budus_admin.sh: Se un'entry è presente più volte, la elenca solo una volta.
  • MOD: budus_news.sh: In alcune circostanze il feed RSS del sito ANSA è "malformato"; lo script ora individua questa situazione ed evita di sovrascrivere il database annullando, di fatto, le informazioni in esso contenute.
  • ADD: budus_voc.sh: Conversione del codice "'" in "'".
  • ADD: budus_news.sh: Sub-comandi "stop" e "start" rispettivamente necessari per fermare e lanciare, in remoto, le AutoNews ANSA.

Per coloro che ne fanno uso, ho anche aggiornato il pacchetto buduscript_games-1.1.tar.gz, contenente la raccolta di giochi disponibili per il BOT.