GNU/Linux: chattare su IRC da linea di comando

Torniamo a un argomento più pop rispetto agli ultimi, abbastanza tecnici: oggi vediamo come chattare su IRC da linea di comando. La rete IRC era composta da numerosi server, ognuno dei quali offriva il servizio e permetteva a moltissimi utenti di chattare sia in stanze di gruppo sia in privato, non diversamente dalle chat moderne. Permetteva anche di creare bot, aprire un proprio canale e registrare il proprio nick: era il luogo virtuale dove le persone si incontravano per parlare dei propri interessi, portare avanti progetti e comunicare ai tempi del web 1.0. Miracolosamente è sopravvissuta ed è ancora attiva, con tantissimi utenti. Ci collegheremo a uno dei server storici.

Installare WeeChat

Il client che usiamo è WeeChat:

sudo apt-get install weechat

Si lancia con:

weechat

La finestra è spartana ma molto funzionale, ed è divisa in alcune parti che conviene conoscere:

  • A sinistra la colonna dei buffer: i buffer sono gli insiemi di messaggi che riceviamo dai server, dai canali e dai singoli utenti.
  • Al centro il buffer corrente, la finestra di chat vera e propria.
  • In basso il prompt dei comandi, che serve sia per inviare i messaggi sia per mandare comandi a WeeChat, al server o al canale.

Tutti i comandi di WeeChat iniziano con una barra, per distinguerli dalle frasi che vogliamo scrivere in chat. Questa è la barra diritta, la slash.

Aggiungere un server e connettersi

Prima cosa: aggiungere un server. Il comando è server con l’azione add, poi un’etichetta a nostra scelta, che serve solo a distinguere il server dagli altri quando ne avremo aggiunti tanti, poi indirizzo e porta, e infine l’opzione -tls, l’unica davvero importante, che dice al client di usare la sicurezza TLS. Qui ci colleghiamo a Libera Chat sulla porta 6697:

/server add libera irc.libera.chat/6697 -tls

I nomi dei server e le porte si trovano facilmente su Internet. Poi ci connettiamo con il comando connect seguito dall’etichetta:

/connect libera

Eccoci connessi: nella colonna dei buffer, oltre a quello di WeeChat, che è quello del programma, ora compare Libera. Siamo in una specie di ingresso del server, non in un canale.

Il nickname

Quando ci colleghiamo ci viene assegnato un nickname temporaneo. Per darcene uno personalizzato, che è il nome con cui ci vedranno gli altri utenti nei canali e nelle chat private, si usa il comando nick:

/nick tuonick

Il nick scelto con nick vale solo finché restiamo connessi, e chiunque può prenderlo quando ce ne andiamo. Per tenerlo nostro lo registriamo presso NickServ, il servizio del server che custodisce i nick. Gli si parla in privato con il comando msg: dopo essersi dati il nick, si manda register con una password e un indirizzo email valido:

/msg NickServ REGISTER password tua@email.it

Su Libera Chat arriva una mail con un codice di verifica, che si conferma con il comando che la mail stessa indica:

/msg NickServ VERIFY REGISTER tuonick codice

Da quel momento il nick è nostro. Alle connessioni successive, preso il nick, ci si identifica con la password:

/msg NickServ IDENTIFY password

Per non doverlo scrivere ogni volta, WeeChat può mandare la password da solo al momento della connessione, con l’autenticazione SASL:

/set irc.server.libera.sasl_username tuonick
/set irc.server.libera.sasl_password password

Cercare un canale

Non sappiamo quali canali siano disponibili, e su ogni server possono essere tantissimi. Possiamo chiedere l’elenco, ma il mio consiglio è usare list con le wildcard per ottenere una lista ragionata. Per esempio, per elencare i canali che contengono la parola debian in mezzo a qualunque altra cosa:

/list *debian*

Le ricerche si possono stringere ancora. Il server stesso accetta un numero minimo o massimo di utenti: per esempio i canali con più di cento persone connesse:

/list >100

Al posto delle wildcard WeeChat accetta anche un’espressione regolare con l’opzione -re, per esempio i canali che iniziano per linux:

/list -re ^#linux

Senza la regex, invece, il risultato finisce in un buffer dedicato, dove si continua a filtrare scrivendo al prompt: n: seguito da una parola cerca solo nel nome del canale, t: solo nell’argomento, il topic, u: fissa il numero di utenti, e s: ordina la lista. Per esempio:

t:italia
u:>50
s:-users

Con un asterisco si torna a vedere tutto, e sulla riga selezionata il tasto j entra nel canale.

Fra i risultati ne ho trovato uno italiano per gli utenti Debian, debian-it, e quello mi sembra promettente. Per entrare in un canale c’è il comando join:

/join #debian-it

Siamo dentro. La finestra ha ora un’ulteriore colonna a destra, quella degli utenti connessi.

Scrivere e uscire

Inviare un messaggio è semplicissimo: basta scrivere al prompt la frase, senza barra, per esempio ciao a tutti, e dare invio. Il messaggio compare con il nick di chi l’ha scritto a sinistra, quindi è facile capire chi parla.

Per scrivere in privato a un utente si usa query seguito dal suo nick e, se vogliamo, dal primo messaggio:

/query tuonick ciao, come va?

WeeChat apre un buffer tutto per la conversazione privata, che compare nella colonna a sinistra, e da lì si continua a scrivere normalmente. Se invece vogliamo mandare un messaggio al volo senza aprire un nuovo buffer, c’è msg, lo stesso che abbiamo usato con NickServ:

/msg tuonick ci vediamo dopo

Quando qualcuno ci scrive in privato, il suo buffer si apre da solo.

Per uscire da un canale è sufficiente il comando close:

/close

e siamo tornati alla nostra lista di buffer.

La sorpresa

Su Libera Chat trovate anche il canale che ho aperto io con il mio nick: se cercate Linux con list ce ne sono parecchi, ma c’è anche quello di The Linux Nerd. Per entrarci:

/join #the-linux-nerd

Mi trovo connesso spesso in orari da caffè per rimanere svegli. Può diventare anche un punto d’incontro per chi segue il canale, quindi usatelo pure per chiacchierare fra voi.

Per finire

Non è tutto: su IRC ci sarebbe molto altro da dire, per esempio che cos’è un operatore, come registrare un canale e come sfruttare le funzioni avanzate del protocollo. Se vi interessa, ci torneremo su.

Link e risorse

Sostieni il canale

PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE! ma se vuoi offrirmi un caffè, mi aiuterà a rimanere sveglio mentre registro i video 😁☕ clicca qui per scoprire come https://buymeacoffee.com/thelinuxnerd

questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!