Collegare un canale Telegram ad un feed RSS

In questo post vedremo come alimentare automaticamente un canale Telegram con i post pubblicati su un blog WordPress, Joomla, Drupal o qualunque altro CMS che metta a disposizione un feed RSS.

Ecco gli step che seguiranno:

  1. Creazione canale Telegram
  2. Creazione bot Telegram
  3. Rendere il bot amministratore del canale Telegram
  4. Creazione account IFTTT
  5. Configurazione recipe su IFTTT

Creazione canale Telegram

Il procedimento che segue è riferito all’utilizzo di Telegram su un dispositivo iOS.

Andiamo sulla finestra delle chat e facciamo tap sul bottone nuovo messaggio.

telegram_schermata_benvenuto

Nella schermata che appare facciamo tap su nuovo canale.

telegram_nuovo_messaggio

Inseriamo il nome e la descrizione del canale, impostiamo una foto e facciamo tap su successivo.

telegram_creazione_canale_01

A questo punto scegliamo la tipologia di canale in pubblico e impostiamo lo URL del canale nel formato telegram.me/{nomescelto}, ad esempio telegram.me/salvatorecordiano.

Facciamo tap su successivo, Telegram ci invita ad invitare persone al canale, possiamo fare tap direttamente su successivo per saltare questo step.

telegram_aggiungi_membri_canale

Il canale è stato creato.

telegram_vista_canale

Creazione Bot Telegram

Per procedere alla creazione di  un bot dobbiamo chiedere ad un bot chiamato BotFather di crearlo. Questa operazione può essere effettuata tramite l’applicazione mobile scrivendo a @BotFather oppure dal client web all’indirizzo https://web.telegram.org.

Dopo aver aperto la conversazione digitiamo il comando /newbot e poi rispondiamo ai messaggi del bot.

BotFather ci scrive di scegliere il nome del bot: Alright, a new bot. How are we going to call it? Please choose a name for your bot. Rispondiamo: Salvatore Cordiano e poi invia.

Successivamente BotFather ci chiede di scegliere lo username del bot: Good. Now let’s choose a username for your bot. It must end in “bot”. Like this, for example: TetrisBot or tetris_bot. Rispondiamo: salvatorecordianoitbot e poi invia.

Se lo username è disponibile ed è valido il bot ci risponde come segue:

Done! Congratulations on your new bot. You will find it at telegram.me/{BOT NAME}. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.
 
Use this token to access the HTTP API:
{TOKEN}
 
For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Annotiamo il campo {YOUR TOKEN HERE}, sarà necessario per la configurazione su IFTTT del bot.

Rendere il bot amministratore del canale Telegram

Per consentire al bot di pubblicare automaticamente contenuti sul canale è necessario renderlo amministratore, esattamente come se si trattasse di un utente.

Entriamo nel canale dall’applicazione mobile. Facciamo tap sull’immagine che rappresenta il canale.

telegram_info_canale

Facciamo tap su Amministratori e poi su aggiungi amministratore.

Nella schermata di ricerca inseriamo il nome del nostro bot salvatorecordianoitbot.

telegram_ricerca_globale

Se tutto è andato bene troveremo il nostro bot nell’elenco degli amministratori.

telegram_lista_amministratori_canale_2

Creazione account IFTTT

Prima di creare l’account IFTTT cerchiamo di capire cos’è IFTTT. IFTTT è l’acronimo di “If This Then That” che potremmo tradurre liberamente in italiano: “se accade questo allo fai quello“. E’ un servizio web che consente di eseguire delle azioni automatiche (action) al verificarsi di eventi (trigger). La coppia evento scatenante ed azione viene chiamata recipe.

Nel nostro caso l’evento scatenante è la pubblicazione di un articolo (quindi un nuovo elemento nel feed RSS) e l’azione da eseguire è la pubblicazione di un aggiornamento su canale Telegram.

Procediamo con la registrazione dal sito ifttt.com facendo click sul link sign up.

ifttt_signup_01

Compiliamo il semplicissimo form di registrazione con l’indirizzo email e scegliendo una password per il nostro account IFTTT.

ifttt_signup_02

Dopo aver compilato il form facciamo click sul bottone create account. L’attivazione del nostro account IFTTT è terminata.

Creazione recipe su IFTTT

Dopo aver attivato l’account andiamo nella sezione my recipes e facciamo click sul bottone create a recipe.

ifttt_my_recipes

A questo punto dobbiamo definire il this, cioè l’evento scatenante del nostro recipe. Facciamo click su this.

ifttt_recipe_01

IFTTT ci chiede di scegliere il canale trigger da una lista, per velocizzare scriviamo nella casella di ricerca feed e selezioniamo l’icona arancione feed.

ifttt_recipe_02

Dobbiamo configurare il nostro trigger. Scegliamo new feed item.

ifttt_recipe_03

Inseriamo adesso lo URL del nostro feed RSS che IFTTT controllerà periodicamente alla ricerca di un nuovo elemento pubblicato. Per proseguire facciamo click sul bottone create trigger.

ifttt_recipe_04

Abbiamo configurare il this ora è il momento di configurare il that. Facciamo click su that.

ifttt_recipe_05

Anche in questo caso dobbiamo selezionare il canale di riferimento, con la differenza che questo canale verrà usato per eseguire un’azione.

ifttt_recipe_06

Per velocizzare scriviamo nella casella di ricerca maker.

ifttt_recipe_07

Nella schermata che segue facciamo click su continue to the next step.

ifttt_recipe_10

E poi su done.

ifttt_recipe_09

A questo punto selezioniamo come azione make a web request.

ifttt_recipe_11

Nella schermata di configurazione inseriamo i seguenti dati:

URL: https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id=@{CHANNEL}&text={{EntryUrl}}
Method: GET
Content Type: application/x-www-form-urlencoded
Body: lasciare vuoto

Dobbiamo sostituire {TOKEN} con il token ottenuto nello step di creazione del bot Telegram e {CHANNEL} con lo username del nostro canale (se lo URL è telegram.me/salvatorecordiano allora lo username del canale è salvatorecordiano)

ifttt_recipe_12

In alternativa è possibile pubblicare ogni nuovo articolo nel formato titolo + URL con la configurazione seguente:

URL: https://api.telegram.org/bot{TOKEN}/sendMessage
Method: POST
Content Type: application/x-www-form-urlencoded
Body: chat_id=@{CHANNEL}&text={{EntryTitle}} {{EntryUrl}}

Facciamo click sul bottone create action, se tutto è andato per il verso giusto IFTTT ci conferma l’avvenuta creazione del recipe.

ifttt_recipe_14

Non ci rimane che attendere la pubblicazione di un nuovo contenuto per ricevere la notifica sul canale Telegram.

Questions?

Have a question about this post or anything else? Ask away on Twitter or in my AMA repo.

12 thoughts on “Collegare un canale Telegram ad un feed RSS”

  1. Ciao, molto interessante ma mi sono bloccato su un punto, non capisco cosa si debba mettere al posto di {{EntryUrl}}
    Grazie mille 🙂

  2. Grazie. Ero già dispiaciuto di non assistere al Mwetup WordPress di stasera a Milano, quando ho scoperto che il tuo interessantissimo intervento era già online.
    Emilio da Lugano

  3. Ciao, l’articolo è molto interessante ma volevo chiederti se ci fosse un modo per far mandare da un bot, su richiesta dell’utente, gli ultimi feed pubblicati su un sito?
    Grazieeee

    1. Ah dimenticavo di dirti che se possibili non vorrei usare Manybot o servizi del genere ma andare a lavorare direttamente sulla pagina execute del mio bot.

  4. Ciao Salvatore

    Ho eseguito tutti i passaggi alla perfezione, ma pubblicando i post ho visto che su Telegram non avviene nulla. Ho rivisto bene tutti i passaggi parecchie volte, ma niente.
    Controllando l’activity log dal sito IFTTT riesco a vedere che rileva la pubblicazione dei post, quindi l’account è collegato. Il problema è che su Telegram non arriva nessuna notifica, come se il canale non fosse sincronizzato.
    Da cosa potrebbe dipendere?
    Grazie

Leave a Reply

Your email address will not be published. Required fields are marked *