Novità
Icona risorsa

Guida Verificata Come collegare le chat di Telegram e Discord

Una guida verificata è stata controllata dallo staff punto per punto e se ne attesta la sua validità.

Introduzione​

Forse uno dei problemi maggiori di una community presente sia su Telegram che su Discord, è quello di avere due chat completamente separate e spesso, anche utenti diversi sulle due app! Questo perché non esiste nativamente nessun modo per collegarle fra di loro.

Facendo le dovute ricerche, è possibile collegare queste due applicazioni in diversi modi, il problema è che la maggior parte richiedono di sottoscrivere un abbonamento con un costo che varia in base ai messaggi mensili inviati, molto scomodo per community numerose o con utenti molto attivi!

Oltre alle soluzioni "impacchettate e pronte all'uso" ne esistono altre, che prevedono l'uso di bot creati direttamente da noi e personalmente hostati (che è quello che ci piace... pieno controllo!), naturalmente in questo caso, gratuite e il più delle volte open-source.

Recentemente abbiamo collegato le nostre chat di Discord e Telegram sfruttando proprio una di queste soluzioni, ovvero Tedicross, un bot self-hosted, quindi non pubblico.

Di seguito, vediamo come fare e di cosa abbiamo bisogno.

Prerequisiti​

  • Essere il fondatore di un server Discord (o possedere tutti i diritti di amministrazione)
  • Essere il fondatore di un gruppo Telegram (o possedere tutti i diritti di amministrazione)
  • Avere a disposizione una macchina sempre connessa capace di girare NodeJS 16 o superire
Per macchina sempre connessa, intendiamo qualsiasi cosa capace (come detto) di avviare NodeJS 16 o superiore, ad esempio un server VPS, Amazon Web Services, Google Cloud Platform, un raspbebby, un normale personal computer. Il software gira su Windows, Linux e macOS. Lo sviluppatore però indica che non è compatibile con Heroku.

Preparazione​

Come fatto per altre guide, potendo scegliere fra diverse piattaforme, in questa guida prenderemo come esempio l'installazione su un server Debian. Con i dovuti accorgimenti, naturalmente si può seguire altre per altri OS.

Intanto, la pagina ufficiale di GitHub spiega in modo esaustivo come installare Tedicross, quindi una rapida lettura aiuta a comprendere meglio i passaggi indicati di seguito:
Accedi o Registrati per vedere questo link.


Per prima cosa, operiamo sulla nostra macchina Debian, e DOPO averla protetta a dovere (qui una guida) dobbiamo installare
Accedi o Registrati per vedere questo link.
.

La versione indicata è la 16, quindi intanto inseriamo la corretta repository
Bash:
Accedi o Registrati per vedere questo contenuto.
e poi procediamo con
Bash:
Accedi o Registrati per vedere questo contenuto.

Ci servirà anche il pacchetto npm
Bash:
Accedi o Registrati per vedere questo contenuto.

E la macchina è pronta! Ora, lasciamo da parte il nostro server e recuperiamo tutte le informazioni aggiuntive che ci serviranno.

Ora dobbiamo creare un bot Telegram, creare un bot Discord, ottenere i loro token e recuperare gli ID delle chat da collegare. Procediamo per gradi:

Per creare un bot Telegram, dobbiamo avviare una chat con BotFather. Quindi semplicemente cerchiamolo su Telegram
Immagine 2022-10-22 110112.jpg

Aperta la chat con BotFather, digitiamo /newbot e seguiamo le istruzioni per la creazione, molto intuitive. Appena creato, otterremo il token del nostro bot, salviamolo e conserviamolo in un luogo sicuro! Chiunque possegga il token può controllare il bot.

Dobbiamo ora disattivare la privacy mode del nostro bot, quindi sempre nella chat di BotFather scriviamo /setprivacy e disattiviamola.

Volendo possiamo già invitare il bot nel gruppo telegram che vogliamo collegare, garantendogli diritti amministrativi.

Per ottenere l'ID del nostro gruppo telegram, che ci servirà in seguito, la via più semplice è invitare nel gruppo un altro bot (che poi possiamo eliminare). Lo username da invitare è myidbot. Invitiamolo e otteniamo il nostro groupid.

Passiamo ora al bot Discord:
Rechiamoci su
Accedi o Registrati per vedere questo link.
e creiamo una nuova applicazione tramite l'interfaccia intuitiva. Una volta creata, vedremo la schermata Bot
bot.jpg
e
Apriamola e creiamo un nuovo bot, indicando le informazioni necessarie. Anche qui, salviamo il token fornito e conserviamolo in un posto sicuro.

Nella schermata del bot, sotto Privileged Gateway Intent selezioniamo la voce Message Content Intent.

Possiamo invitare il bot nel nostro server discord. Per farlo, andiamo nella schermata OAuth2, poi URL Generator
url.jpg

e nella finetra a destra clicchiamo bot poi Administrator. In basso si genererà un url, apriamolo in una nuova finestra e confermiamo l'aggiunta del bot al nostro server.

Per ottenere l'id del canale discord di nostro interesse, dobbiamo prima andare nelle impostazioni del nostro profilo tramite l'app di discord, in basso troviamo avanzate
disc.jpg

e quindi attiviamo la modalità sviluppatore.

Ora, con la modalità sviluppatore attiva, clicchiamo con il tasto destro sul canale di nostro interesse e ci verrà fornita l'opzione di copiare l'ID del canale.

Bene! abbiamo ora tutto il necessario per procedere all'installazione del bot sul nostro server!

Installazione​

La prima cosa, è scaricare Tedicross dal Github, volendo anche in formato zip e poi scompattarlo all'interno del nostro server, consiglio una directory utente in /home.

Navighiamo tramite terminale in questa directory e digitiamo
Bash:
Accedi o Registrati per vedere questo contenuto.

Una volta installato, facciamo una copia del file example.settings.yaml e rinominiamolo in settings.yaml.

Ora apriamo settings.yaml e completiamolo con tutti i dati ottenuti nei passaggi precedenti. Controlliamo anche le altre impostazioni intuitive all'interno del file e personalizziamole in base alle nostre esigenze.

Volendo, possiamo già avviare il bot per verificarne il funzionamento con npm start

Possiamo inoltre impostare un autostart per il bot, in modo che si avvia automaticamente ad ogni riavvio della macchina come servizio.

Per farlo, dobbiamo creare un file all'interno della cartella /etc/systemd/system/ con il nome che vogliamo dare al servizio, ad esempio
Bash:
Accedi o Registrati per vedere questo contenuto.
ovvero il nome sarà tedicross.service

All'interno del file, copiamo questo contenuto
Codice:
Accedi o Registrati per vedere questo contenuto.
indicando la directory dove abbiamo installato TediCross in WorkingDirectory e lo user da utilizzare per avviare il servizio. Come esempio, nel codice sopra è indicato lo user tedicross.

Ora, abilitiamo il servizio al riavvio con
Bash:
Accedi o Registrati per vedere questo contenuto.
e avviamolo con
Bash:
Accedi o Registrati per vedere questo contenuto.
dove al posto di tedicross indiamo il nome del file dato al .service del punto precedente.

Abbiamo finito! Se tutto è stato settato correttamente, le chat dovrebbero essere collegate e ogni messaggio inviato in una di essere, sarà recapitato anche nell'altra secondo le regole inserite nel file settings.yaml.

Volendo possiamo creare semplicemente anche un bridge fra più canali discord e gruppi telegram diversi, sul GitHub di Tedicross è indicato come farlo, in modo molto semplice.

Spero questa guida vi sia piaciuta, fatemi sapere cosa ne pensate!
Autore
Anyma
Visite
1,024
Primo rilascio
Ultimo aggiornamento
Valutazione
0.00 stella(e) 0 valutazioni

Più risorse di Anyma

Ultimi aggiornamenti

  1. Aggiornato comando NPM

    Aggiornato il comando npm con npm install --omit=dev
Indietro
Alto