Novità
ItaliaNerd

Registrati gratuitamente per diventare un membro della community ItaliaNerd! Una volta effettuato l'accesso, potrai partecipare a questo sito aggiungendo i tuoi argomenti e post, nonché connetterti con altri membri tramite la tua casella di posta privata! Sentiti libero di utilizzare questo portale come meglio credi, per una breve panoramica dai un'occhiata QUI!

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: GitHub - TediCross/TediCross: Bot which bridges Telegram chats with Discord channels

Per prima cosa, operiamo sulla nostra macchina Debian, e DOPO averla protetta a dovere (qui una guida) dobbiamo installare NodeJS.

La versione indicata è la 16, quindi intanto inseriamo la corretta repository
Bash:
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
e poi procediamo con
Bash:
sudo apt -y install nodejs

Ci servirà anche il pacchetto npm
Bash:
sudo apt -y install npm

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 Discord Developer Portal — API Docs for Bots and Developers 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:
npm install --omit=dev

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:
nano /etc/systemd/system/tedicross.service
ovvero il nome sarà tedicross.service

All'interno del file, copiamo questo contenuto
Codice:
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/TediCross
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=tedicross
User=tedicross
Group=tedicross
Environment=TELEGRAM_BOT_TOKEN=secret
Environment=DISCORD_BOT_TOKEN=secret

[Install]
WantedBy=multi-user.target
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:
sudo systemctl enable tedicross
e avviamolo con
Bash:
sudo systemctl start tedicross
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,437
Primo rilascio
Ultimo aggiornamento

Ratings

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