Bot di Telegram per copiare i messaggi

Utilizzate Junction Bot per copiare o inoltrare automaticamente i messaggi di Telegram da diverse fonti al vostro canale o gruppo Telegram. Lo chiamiamo inoltro.

Possibili fonti di messaggi:

  • canali e gruppi pubblici e privati
  • canali e gruppi privati chiusi (senza link di invito)
  • altri bot
  • chat private con altri utenti

Alcune di queste fonti sono disponibili solo con la Connessione diretta. Verificate qui il tipo di conto di cui avete bisogno. Le visualizzazioni di un messaggio inoltrato vengono conteggiate separatamente e non modificano il conteggio delle visualizzazioni del messaggio originale.

Creazione di un nuovo avanzamento

Per creare una regola di inoltro per copiare i messaggi da Telegram, utilizzate il comando /nuovo. Vi guiderà attraverso il processo di configurazione.

Una volta completata l’impostazione, è possibile vedere il nuovo elenco di regole con il comando /forwards (ex /list). Inoltre, questo comando mostra i pulsanti per controllare le regole di inoltro (disattivare, eliminare, ecc.).

È possibile regolare diverse impostazioni per tutte le regole o per ogni regola in particolare. Per maggiori dettagli, vedere qui.

Copiare il canale Telegram con o senza link di invito

Il bot può copiare i messaggi dai canali privati e dai gruppi di Telegram se hanno un link di invito e anche se non ce l’hanno.

Se si utilizza l’account Standard, si ricorda che i canali telegram privati sono garantiti solo finché il link di invito è attivo.

Se avete bisogno di copiare da canali privati senza un link di invito o volete ricevere messaggi da altri bot, dovete usare la connessione diretta.

Copiare da una fonte di Telegramma a più destinazioni

Di solito, quando si regolano le impostazioni delle regole di inoltro, si utilizza un collegamento a un canale sorgente. Ma come identificare la regola esatta se si hanno diverse regole di inoltro a canali diversi da una stessa sorgente. Come impostare diverse impostazioni/filtri/sostituzioni per diversi canali di destinazione?

Aggiungete il seguente costrutto al nome della sorgente: ->-1001251642436
Dove -1001251642436 è l’identificativo del canale di destinazione nel sistema Telegram più il prefisso “-100” (è il modo in cui Telegram distingue i numeri dei canali dai numeri di altri oggetti). Per trovare questo numero è sufficiente utilizzare il comando
/filter source_channel_reference
Verranno visualizzati tutti i possibili identificatori di destinazione in base alle regole di inoltro correnti.

Ad esempio, i comandi per aggiungere due filtri diversi a destinazioni diverse dalla stessa sorgente potrebbero essere i seguenti:
/filter source_channel_reference->-1001251642436 mustHave green
/filter source_channel_reference->-1001459676332 mustHave red

I comandi per aggiungere due pulsanti di feedback diversi a destinazioni diverse dalla stessa sorgente potrebbero essere i seguenti:
/settingchannel source_channel_reference->-1001251642436 like 👍🏻
/settingchannel source_channel_reference->-1001459676332 like ❤️

Stato “In attesa”

Se il canale sorgente è completamente nuovo per il sistema e il carico è elevato, il bot può impiegare un po’ di tempo per iniziare a ricevere i messaggi da esso.

Se usando il comando /forwards (o il precedente /list) vedete i canali contrassegnati da PENDING, significa che questi canali sono in attesa di essere collegati al bot. Attendere 10-30 minuti e i messaggi inizieranno ad arrivare.

Vi preghiamo di farci sapere se ci vuole più di un giorno.

Riduzione dei ritardi

Con il comando /support è possibile eseguire una procedura guidata che aiuta a capire perché il messaggio non ha raggiunto la destinazione o è arrivato con un ritardo. Questa funzione è attualmente disponibile solo per le connessioni dirette.

Se il ritardo nella consegna dei messaggi si è verificato una volta, allora molto probabilmente in quel momento c’è stato solo un aggiornamento del bot. È possibile utilizzare il comando /status per verificare quando è stato effettuato l’ultimo aggiornamento e se è in corso al momento. Inoltre, questo comando mostra un ritardo massimo stimato per gli account standard (le connessioni dirette funzionano istantaneamente).

Se avete un account Free o Standard

Per i canali pubblici degli account Free e Standard, la consegna dei messaggi può richiedere fino a qualche ora. La consegna da parte dei canali privati di solito avviene istantaneamente, ma raramente, una volta ogni tanto, può anche saltare in alto. Se il canale sorgente è completamente nuovo per il sistema e il carico è elevato, il bot può impiegare un po’ di tempo per iniziare a ricevere i messaggi da esso. Se ci vogliono più di 24 ore, fateci sapere. Se questi ritardi non sono accettabili, è necessario utilizzare una connessione diretta. Direct Connection garantisce tempi di consegna immediati.

Stiamo fornendo un servizio per accelerare la consegna da un canale pubblico, quindi ci vorranno alcuni secondi. Questo servizio costa 1,20 euro al mese per canale. È possibile attivare/disattivare la velocizzazione quando si vuole con il comando /express.

/express source_channel_reference

Per esempio, per accelerare il canale @slow, usare /express @slow-channel
Per cambiare il canale da accelerare, disattivare prima l’espresso per il canale precedente con lo stesso comando e poi attivarlo per quello nuovo. È possibile visualizzare l’elenco dei canali espressi con il comando /express senza argomenti.

Un altro modo per rendere immediata la consegna è quello di utilizzare la connessione diretta. Tutti i messaggi provenienti da una connessione diretta arrivano istantaneamente. Si noti che se si utilizza una connessione diretta, non è necessario utilizzare /express. La consegna da una connessione diretta avviene già istantaneamente.

Se siete interessati a uno di questi servizi, consultate qui le modalità di acquisto.

Se si dispone di una connessione diretta

La consegna del messaggio è quindi istantanea. Se si verifica costantemente un ritardo notevole sulla connessione diretta, significa che la connessione necessita di una configurazione aggiuntiva. Utilizzate un comando /support per questo.

La “istantaneità” è davvero istantanea?

Il termine “istantaneo” va da millisecondi a diversi secondi. Il bot stesso funziona senza ritardi, ma possono verificarsi ritardi nella consegna dei messaggi da parte di Telegram.

Inoltre, dopo che Telegram ha introdotto la protezione dalla copia quando si inviano messaggi multimediali da canali protetti, il bot deve elaborare questi messaggi in modo speciale. Ciò può comportare ulteriori ritardi a seconda delle dimensioni del file. Per una normale foto, ad esempio, questo ritardo non si noterà, cosa che non si può dire per i video più pesanti.

A volte effettuiamo un aggiornamento del sistema. Questo può causare un ritardo notevole se l’aggiornamento avviene proprio nel momento in cui appare il messaggio. È possibile verificare se l’aggiornamento del sistema è in corso con il comando /status

Le sfumature del lavoro con i canali protetti di Telegram

Se l’origine è protetta dalla copia, il bot deve elaborare completamente il file multimediale protetto. Ecco perché i messaggi mediatici pesanti richiedono più tempo per essere consegnati.

Caratteristiche di Telegram Premium

I titolari di un account Premium possono utilizzare smiley premium e didascalie multimediali lunghe nei loro messaggi. I bot non possono utilizzare nessuno dei due. Pertanto, l’unico modo per inviare tali messaggi così come sono è quello di abilitare la consegna a nome del proprio account. A tal fine, l’account deve essere collegato tramite una connessione diretta e avere un Telegram Premium attivo.

Inoltre, il bot è in grado di inviare la didascalia come messaggio separato; se nell’origine c’è un’immagine con una didascalia, nella destinazione ci saranno due messaggi: un’immagine e un testo. In questo modo la didascalia non verrà tagliata.

Webhook o chiamate all’API

A volte è necessario ricevere i messaggi di Telegram nella propria API. La prima idea che gli sviluppatori hanno è quella di utilizzare un endpoint HTTP di tipo REST e ricevere le richieste dal nostro bot in un formato di tipo JSON.

Sconsigliamo vivamente questo approccio e non aggiungiamo deliberatamente questa funzionalità al bot. Tali richieste tendono a non arrivare o ad arrivare più volte a causa di vari problemi di rete. Man mano che il sistema si evolve, sarà necessario “riascoltare” la cronologia delle chiamate, esaminare i registri delle chiamate sul nostro lato per individuare i problemi sul vostro lato, ecc. Tale funzionalità richiederà la creazione di un prodotto separato da parte nostra.

Per questo motivo, si consiglia di utilizzare l’architettura a coda di messaggi. E visto che abbiamo già un messaggero pronto davanti a noi, perché non usarlo? Basta creare il proprio bot più semplice, ci vogliono 15 minuti, e impostare l’inoltro dalla fonte desiderata direttamente a quel bot. Con questo approccio otterrete un sistema estremamente affidabile e a prova di futuro.

Come posso capire perché non tutti i messaggi arrivano?

Utilizzare il comando /support

Questa funzione è disponibile solo per i collegamenti diretti. Con il comando /support è possibile eseguire una procedura guidata che aiuta a capire perché il messaggio non è arrivato a destinazione o ha subito un ritardo. Si consiglia di provare questo metodo prima di provare gli altri.

Attivare il rapporto di spiegazione

La prima cosa da fare è abilitare il report explain con il comando

/settingchannel source_channel_reference explain on

Per ogni nuovo messaggio viene inviato un rapporto che spiega in dettaglio perché il messaggio non è stato trasmesso. Se non si capisce come leggere il rapporto o correggere il filtro, contattare la chat di supporto.

È possibile che il messaggio sia stato modificato poco dopo la pubblicazione. Se il messaggio originale non è passato attraverso i filtri, il bot non sarà in grado di passare la modifica.

Se non c’è alcuna segnalazione di un nuovo messaggio nella sorgente, cercate oltre.

Se si dispone di un account standard

Il problema è probabilmente un ritardo o un messaggio troppo grande da un canale protetto.

Se si dispone di una connessione diretta

Controllare se l’account collegato è membro del canale o del gruppo di origine.

Verificare se il problema è legato a un messaggio troppo grande proveniente da un canale protetto.

In caso contrario, inviate al nostro assistente il numero di telefono dell’account collegato e il numero del canale o del gruppo sorgente. In casi molto rari è necessaria un’ulteriore messa a punto da parte nostra.

Copia dei vecchi messaggi di Telegram

È possibile copiare la cronologia di un canale Telegram utilizzando il comando /history.

Se si desidera utilizzare impostazioni avanzate per un processo di copia, come filtri e sostituzioni, è necessario creare prima una regola di inoltro usuale utilizzando il comando /new. Applicare quindi l’impostazione richiesta a questa regola di inoltro. Successivamente, si avvia un processo di copia della cronologia che utilizzerà le impostazioni di una regola esistente. Facile!

Perché i messaggi consegnati possono apparire diversi da quelli della sorgente?

A volte il messaggio della fonte viene modificato dopo la pubblicazione. Può succedere che il bot copi il messaggio prima che l’amministratore lo modifichi. In questo caso, verrà consegnata la prima versione del messaggio. A volte i messaggi modificati non sono nemmeno contrassegnati come modificati.

Nella modalità di connessione diretta è possibile passare l’editing del messaggio alla destinazione (la funzione è abilitata per impostazione predefinita). In questo modo si risolve il problema. Se si dispone già di una connessione diretta e ci si trova di fronte a modifiche non inviate, vedere la possibile soluzione qui.

Potrebbe anche essere che il messaggio originale sia passato attraverso i vostri filtri e che la modifica non sia passata. In questo caso il messaggio non verrà modificato.

Succede che un canale pubblichi erroneamente un messaggio due volte e poi ne cancelli uno. Se si dispone di un filtro per i duplicati, viene trasmesso solo il primo messaggio. Se l’amministratore cancella il primo messaggio e modifica il secondo, la modifica fallisce.

Perché possono arrivare dei duplicati?

A volte nella fonte un post viene pubblicato due volte, per errore, e un po’ più tardi uno dei doppi viene rimosso. Ma a quel punto il bot potrebbe essere già riuscito a copiare entrambi i messaggi. Il modo più diretto per risolvere questo problema è quello di abilitare la trasmissione di cancellazione. Questa impostazione è disponibile solo per le connessioni dirette. Se si dispone di un account Standard, è possibile utilizzare un filtro per i duplicati.

Se è stato attivato il filtro dei duplicati e i duplicati continuano a passare, è possibile che i messaggi non siano gli stessi. Attivare un rapporto di spiegazione e confrontare il contenuto dei messaggi nei rapporti che arrivano.

/settingchannel source_channel_reference explain on

Se ancora non si nota la differenza, consultare le istruzioni più dettagliate qui.