Potrà sembrare una possibilità inutile, banale, anche un po’ trash.
Ma non lo è.
Sì perché, sentire quello che viene scritto nel canale e sottolineo il verbo sentire, con le proprie orecchie, può risultare molto comodo.
Qualche esempio ? Eccolo:
- Si può facilmente monitorare quello che avviene in un canale.
- Si può controllare quello che scrive un particolare utente.
- Si possono monitorare attività di vario tipo, come il JOIN di un utente piuttosto che un BAN.
Certo, sono tutte attività che magari già fate …. ma sospetto che le fate dovendo guardare la finestra di XChat, non facendo altro !
Già perché io posso dedicarmi a scrivere qualcosa mentre ascolto quello che viene detto nel mio canale o cose del genere.
È veramente comodo; quando ho deciso di implementare questo sistema, non ero molto convinto circa la sua utilità ma, dopo un po’, mi sono ricreduto, tant’è che l’ho sviluppato abbastanza e sono convinto sia uno dei migliori disponibili per XChat.
Ad esempio si auto-disattiva nel momento in cui il canale monitorato contiene troppi utenti, gestisce le emoticons, ha un sistema di “coda della riproduzione” in modo da gestire anche dialoghi serrati, ecc…
Bene, se ho incuriosito e si vuole provarlo, di seguito spiego i passaggi salienti; prima però una premessa: do per scontato si conosca XChat e IRC in generale.
Il sistema, per funzionare, si appoggia (sottolineo che la cosa è dedicata al solo Linux) ad un software chiamato eSpeak – che è un sintentizzatore vocale – e un plug-in per XChat IRC, chiamato BuDuScRiPt. Devono essere installati tutti; il primo lo do per scontato, gli altri no, quindi partiamo:
- MENU: Sistema → Amministrazione → Gestore pacchetti
- Inserire la password di amministratore
- Nel campo Ricerca veloce inserire espeak .
- Installarlo. Verificare anche che siano presenti i pacchetti: xterm, wget, lynx e curl .
- Ora passiamo a BuDuScRiPt. Lo si trova qui: http://digilander.libero.it/udasoft/Software/Linux/buduscript
- All’indirizzo di cui sopra è spiegato come installarlo; ad installazione terminata, avviamo XChat e dovremmo trovare il menu eSpeak , come quello in figura:
Guardando la figura si può notare come tutti i comandi sono auto-esplicativi, quindi non mi soffermo a spiegare come usarli; preferisco piuttosto spiegare il meccanismo con il quale è gestita la cosa.
Quando si aggiunge un “avvertimento” (cioè si fa in modo che il sintetizzatore vocale legga determinati eventi che avvengono in XChat) con il menu di cui sopra, il plug-in (BuDuScRiPt) va a creare una “Sentinella”.
In linea generale una Sentinella è lo strumento con il quale il plug-in esegue un’azione nel momento in cui viene soddisfatta una condizione valutata al verificarsi di un determinato evento.
Le sentinelle sono temporanee, ovvero: sono attive e restano tali nel momento in cui vengono create ma, se non sono salvate, vengono perse nel momento in cui si chiude XChat.
Questo per far notare che gli “avvertimenti” attivati con il menu eSpeak sono temporanei; per renderli permanenti è necessario salvare le Sentinelle. È possibile farlo con il comando di menu: BuDuScRiPt → Gestione Sentinelle → Salva Sentinelle in Memoria
Se le sentinelle vengono salvate, sono caricate e rese operative anche al successivo avvio di XChat (chiaramente il plug-in deve essere installato e funzionante).
Può succedere che si voglia eliminare una sentinella creata; per farlo è necessario ottenere l’elenco delle sentinelle tramite il comando di menu: BuDuScRiPt → Gestione Sentinelle → Lista Sentinelle in Memoria
Si dovrebbe ottenere un risultato simile a quello in figura:

Come prima cosa bisogna individuare la sentinella che si desidera eliminare; se si sono aggiunte molte sentinelle (come in figura, ma che sono tutte dedicate ad “eSpeak”) la cosa si complica un po’ perché bisogna capirne la rappresentazione (e mi rendo conto non sia banalissima) .
Tralasciando il caso in cui le sentinelle aggiunte siano dedicate ad altre situazioni – e quindi do per scontato che l’utente già ne conosca il funzionamento – qui cercherò di spiegare brevemente come individuare quelle dedicate ad eSpeak.
La prima cosa a cui fare caso è la presenza di “$buduscript_macro__espeak_enable”; solo le sentinelle che contengono questa scritta sono dedicate al sintetizzatore vocale.
La seconda cosa cui fare attenzione è la scritta in rosso, che rappresenta l’evento a cui la sentinella reagisce; considerando quelle in figura abbiamo:
- jchannel → JOIN nel canale (un utente che entra o noi stessi)
- pchannel → PART dal canale (un utente che esce o noi stessi)
- kick → KICK di un utente (un utente cacciato dal canale o noi stessi)
- pserver → QUIT dal server (un utente ha chiuso la connessione al server)
- mode → MODE del canale o di un utente (cambio di modalità, BAN compresi)
- chgnick → Cambio di nickname (un utente che ha cambiato nick)
- flood → Un utente che scrive in modo troppo ravvicinato o ripetitivo
- badword → Un utente che scrive parole proibite
- badnick → Un utente che usa un nickname proibito
- text → Tutto quello che viene scritto, sia privato che pubblico
La terza è la condizione che è la scritta immediatamente successiva all’evento (i vari “pezzi” che compongono le sentinelle sono colorati in modo diverso, quindi facilmente individuabili); non credo sia indispensabile capirne il significato, probabilmente “andando ad intuito” si può individuare la sentinella desiderata.
A questo punto non rimane che individuare il numero identificativo della sentinella; è il primo numero, che appare tra parentesi quadre. Tramite questo numero è possibile eliminare la sentinella, attraverso il comando di menu: BuDuScRiPt → Gestione Sentinelle → Elimina una sentinella …
Se la sentinella è stata salvata e si vuole eliminarla in modo permanente è necessario salvare le sentinelle in memoria (vedi sopra).
Per concludere, oltre a suggerire la possibilità che è possibile personalizzare le sentinelle (ma, per farlo, occorre leggersi la documentazione del plug-in), faccio notare che è possibile configurare il funzionamento di eSpeak tramite il menu: eSpeak → Configurazione
Beh, come al solito, mi sono dilungato anche troppo; per dubbi o domande, sono qui !

