Negli ultimi anni molte community IRC hanno aperto anche un gruppo Telegram. C'è chi lo utilizza semplicemente come punto di ritrovo per gli utenti che preferiscono lo smartphone, chi lo considera un modo per rimanere in contatto durante la giornata e chi, invece, lo usa come naturale estensione del proprio canale IRC.

Dal punto di vista tecnico collegare le due piattaforme non è particolarmente difficile. Esistono ottimi progetti open source che permettono di realizzare un bridge in poco tempo e chi dispone di un proprio server può tranquillamente scegliere questa strada.

L'esperienza, però, insegna che il bridge rappresenta solo una parte del lavoro.

Bisogna predisporre un server che rimanga sempre acceso, creare un bot Telegram, mantenerlo aggiornato, verificare che continui a funzionare dopo gli aggiornamenti delle piattaforme coinvolte e, soprattutto, occuparsi della sua amministrazione nel tempo. È un impegno assolutamente affrontabile per chi ha dimestichezza con questo tipo di strumenti, ma non è detto che ogni gestore di un canale abbia voglia di aggiungere anche questa responsabilità alla normale amministrazione della propria community.

Il Bridge Telegram di SimosNap nasce proprio da questa considerazione.

Da strumento interno a servizio del network

In realtà il progetto non nasce come un servizio destinato a tutti.

Per diverso tempo il bridge è stato utilizzato esclusivamente per collegare alcuni canali interni del network. Successivamente è stato attivato anche per qualche community che ne aveva fatto richiesta e proprio questa esperienza ha permesso di capire quali fossero le esigenze più comuni.

Curiosamente, il trasporto dei messaggi era quasi sempre la parte meno problematica.

Le domande che emergevano riguardavano piuttosto tutto quello che ruota attorno ad un bridge: come gestirlo nel tempo, come semplificarne l'amministrazione, come evitare che ogni canale dovesse mantenere una propria infrastruttura separata e come integrare il tutto con gli strumenti già presenti nel network.

Da lì è maturata l'idea di trasformare quello che fino a quel momento era uno strumento utilizzato in casi specifici in un vero e proprio servizio di SimosNap.

L'obiettivo non era sostituire i software di bridging esistenti, ma togliere agli amministratori dei canali tutta quella parte di lavoro che normalmente precede e segue il semplice collegamento tra IRC e Telegram.

Un servizio pensato per chi gestisce una community

Chi decide di utilizzare il Bridge Telegram non deve predisporre un server dedicato, installare software aggiuntivo o preoccuparsi della manutenzione del servizio.

La configurazione viene gestita direttamente dal pannello account di SimosNap, nella sezione dedicata ai propri canali, esattamente come avviene per le altre funzionalità del network.

L'idea è quella di mantenere tutto nello stesso ambiente amministrativo, evitando di introdurre strumenti separati o procedure completamente diverse da quelle già utilizzate quotidianamente.

Anche il bot Telegram è gestito direttamente dal network. Oltre a semplificare la gestione, questa scelta permette di sfruttare alcune funzionalità proprie di IRC che non sempre sono disponibili quando ogni community utilizza un bridge indipendente. Un esempio è il supporto a draft/relaymsg, che consente di preservare in maniera più corretta l'identità dell'utente che ha originato un messaggio inoltrato, rendendo la conversazione molto più naturale per chi utilizza IRC.

Sono aspetti che probabilmente passano inosservati durante l'utilizzo quotidiano, ma contribuiscono a far percepire il bridge come parte integrante del network e non come un servizio esterno collegato in un secondo momento.

L'associazione degli account

Con il tempo è emersa anche un'altra esigenza.

Alcune funzionalità hanno senso soltanto se il network può sapere con certezza quale account Telegram appartiene ad uno specifico account IRC. Pensiamo, ad esempio, alla gestione degli inviti o alla possibilità di verificare lo stato di un utente all'interno di un gruppo Telegram.

Per questo motivo ogni utente può scegliere di associare volontariamente il proprio account IRC a quello Telegram attraverso una semplice procedura di verifica.

Si tratta di una scelta intenzionalmente esplicita. Sarebbe stato possibile tentare associazioni automatiche basate sul nickname, ma nella pratica avrebbero introdotto più eccezioni che vantaggi. Una conferma volontaria richiede qualche secondo in più durante la configurazione iniziale, ma offre un livello di affidabilità decisamente maggiore.

Gruppi pubblici e gruppi privati

Durante lo sviluppo è emerso abbastanza rapidamente che non tutte le funzionalità possono comportarsi allo stesso modo in qualsiasi gruppo Telegram.

Quando il gruppo è privato e gli accessi vengono gestiti tramite il bot del network, il bridge dispone di molte più informazioni e può offrire strumenti amministrativi aggiuntivi. Diventa ad esempio possibile verificare lo stato degli utenti che hanno associato il proprio account oppure integrare la gestione degli inviti direttamente con il network.

La situazione cambia nei gruppi pubblici.

In questo caso Telegram non mette a disposizione dei bot un elenco completo e sempre aggiornato di tutti i membri del gruppo. Alcune informazioni possono quindi essere mantenute soltanto per gli utenti che hanno deciso di associare il proprio account IRC a quello Telegram.

Non si tratta di una limitazione introdotta dal bridge, ma di una caratteristica delle API di Telegram con la quale qualsiasi integrazione deve inevitabilmente confrontarsi. Piuttosto che cercare soluzioni poco affidabili, si è preferito adattare il comportamento del servizio alle possibilità offerte dalla piattaforma.

La gestione degli inviti

Tra le funzionalità disponibili per i gruppi privati c'è anche la gestione degli inviti.

Ogni amministratore del canale può decidere se utilizzarla e stabilire quali utenti siano autorizzati a richiedere un accesso al gruppo Telegram. Attualmente la scelta può essere basata sullo stato dell'utente all'interno del canale IRC, ad esempio limitando la richiesta agli utenti registrati oppure a chi possiede determinati privilegi.

Quando il sistema è attivo, gli inviti vengono generati direttamente tramite Telegram con validità temporanea, evitando la diffusione di collegamenti permanenti e mantenendo tutta la gestione all'interno degli strumenti del network.

Guardando un po' più avanti

Il Bridge Telegram nasce per risolvere un'esigenza concreta, ma durante lo sviluppo si è cercato di evitare scelte che potessero limitarne l'evoluzione.

Negli ultimi anni IRCv3 ha introdotto numerose estensioni che permettono di rappresentare meglio le conversazioni moderne e molte di queste potranno diventare interessanti anche per il bridge. Reply, citazioni, immagini, documenti e altri metadati sono aspetti che meritano di essere approfonditi, mantenendo naturalmente la piena compatibilità con i client IRC tradizionali.

È un percorso che richiederà tempo e che probabilmente accompagnerà l'evoluzione del network nei prossimi anni, ma è sembrato opportuno tenerne conto già durante la progettazione del servizio.

Una beta pubblica

Per il momento il Bridge Telegram viene reso disponibile come una sorta di beta pubblica.

Le funzionalità principali sono presenti e il servizio è già utilizzabile, ma l'esperienza insegna che molti miglioramenti emergono soltanto quando uno strumento inizia ad essere utilizzato quotidianamente da community diverse tra loro.

Ogni canale ha esigenze differenti, modalità di amministrazione differenti e anche un modo diverso di utilizzare Telegram. È difficile prevedere tutto in anticipo e probabilmente non avrebbe nemmeno molto senso provarci.

Come già accaduto per altre funzionalità del network, sarà proprio l'utilizzo quotidiano a suggerire quali aspetti meritano di essere sviluppati ulteriormente e quali, invece, funzionano già nel modo più semplice possibile.

In fondo è questo lo scopo della beta: non testare se il bridge riesce a trasportare i messaggi da una piattaforma all'altra, ma capire come può diventare uno strumento realmente utile per chi amministra una community IRC.

Per chi desidera approfondire il funzionamento del servizio o valutarne l'attivazione per il proprio canale, è disponibile anche la documentazione dedicata sul sito di SimosNap:

https://www.simosnap.org/resources#telegram

Come il bridge stesso, anche la documentazione continuerà ad evolversi insieme al progetto.