Bentrovati ad un nuovo appuntamento con la nostra accademia. Oggi affrontiamo un argomento un pò meno teorico e che concluderà il suo percorso con la realizzazione di uno strumento utile e richiesto da molti di voi. Vedremo come creare uno shortcut che invia messaggi (manuali o automatici) ad una chat Telegram attraverso un BOT.
Per chi non lo conoscesse, Telegram è un sistema di messaggistica simile a Whatsapp ma molto più evoluto, comodo e, aggiungerei, anche più sicuro. A differenza di altri sistemi di messaggistica istantanea, Telegram offre delle API attraverso le quali è possibile interagire con il sistema di messaggistica in modo del tutto decentralizzato.
Ma cosa vuol dire decentralizzato e cosa sono le API?
Per esprimerlo a parole semplici, ed evitando noiosi tecnicismi, immaginiamo le API di Telegram come degli indirizzi web da chiamare per inviare un messaggio di qualsiasi natura (testo, audio, foto, video) ad una chat di gruppo che vogliamo.
Tranquilli, se state pensando che questo tutorial richieda particolari conoscenze tecniche, allora sono felice di contraddirvi. E’ una lezione aperta a tutti, anche a coloro che vogliono sfruttare solo il meccanismo senza dover essere degli sviluppatori. Basterà solamente seguire la guida passo passo per raggiungere l’obiettivo.
Bene, iniziamo!
Per prima cosa dobbiamo creare un BOT Telegram ma ancor prima di crearne uno, cosa sono i BOT?
Immaginiamo d’aver appena acquistato il nostro nuovo appartamento. Ci troviamo al suo interno e sentiamo l’odore della tintura fresca, sentiamo i nostri passi e le nostre parole echeggiare all’interno delle enormi stanze vuote. Da quel momento inizia un lungo percorso tra arredamento delle stanze e l’attivazione dei servizi necessari al benessere quotidiano: idrico, elettrico, gas, telefonico ecc…
Ogni contratto che stipuliamo per attivare un servizio in casa, aggiunge funzionalità alla nostra vita quodiana e anche a quella dei nostri eventuali futuri ospiti.
Ma che c’entra questo argomento con i BOT e le chat di Telegram?
Ecco, immaginiamo la chat di Telegram come il nostro nuovo appartamento, del quale siamo i proprietari, e ogni servizio che attiviamo in casa come un BOT che aggiunge funzionalità. Nel nostro esempio il BOT porterà la funzionalità di inviare messaggi in chat attraverso l’utilizzo degli indirizzi web di cui parlavo all’inizio.
Creiamo un BOT
Ora che abbiamo capito cosa sono i BOT, vediamo come crearne uno o, per riprendere l’esempio della casa, come “stipulare” un contratto per l’attivazione di una nuova funzionalità.
- Apriamo Telegram e clicchiamo sull’icona in alto a destra per iniziare una nuova conversazione
- Nella barra di ricerca dei contatti, digitiamo @BotFather. Quest’ultimo è il BOT dei BOT di Telegram; consente di inizializzare (o stipulare) quello che sarà il nostro BOT.
- Dopo aver trovato il @BotFather, iniziamo una chat con lui cliccando su Avvia. Da questo momento inizierà una comunissima conversazione.
- Digitiamo / per far comparire la lista dei comandi disponibili con il @BotFather
- Scegliamo /newbot e inviamo il messaggio
- @BotFather riconoscerà la nostra richiesta e ci chiederà di rispondere con un nome da assegnare al nuovo BOT. Non esistono convenzioni per il nome da assegnare, possiamo scrivere quello che vogliamo ma il mio consiglio è quello di assegnare un nome coerente con il motivo che ci ha spinto a creare il BOT. Nel mio caso, considerando il contesto, ho deciso di assegnare myshortcutsalerts
- Successivamente al nome, ci verrà chiesto di assegnare una username alla quale concatenare la parola “bot” o “_bot“. Consiglio di usare lo stesso nome utilizzato per il BOT ma con l’aggiunta di “_bot“. Nel mio esempio è myshortcutsalerts_bot
- A questo punto è fatta! @BotFather ci risponderà con un messaggio conclusivo nel quale verrà indicata l’attivazione (stipula) del BOT, e la sua firma (TOKEN). Da quest’ultimo messaggio estrapoliamo e conserviamo il TOKEN; è possibile copiare l’intero messaggio, incollarlo all’interno di una nuova Nota e, al momento opportuno, estrapolare solo il TOKEN.
Creiamo una CHAT
Dopo aver inizializzato il BOT, procediamo con la creazione di una nuova chat Telegram (la nuova casa) alla quale dobbiamo aggiungere/attivare il BOT (il contratto stipulato per un nuovo servizio) come membro della stessa. Al termine di questa procedura occorrerà recuperare l’identificativo della nostra chat. L’identificativo di una chat è come l’indirizzo di una casa, serve ad attribuire univocità.
- Apriamo Telegram e clicchiamo sull’icona in alto a destra
- Selezioniamo Nuovo gruppo
- Nella barra di ricerca scriviamo il nome del BOT che abbiamo creato. Nel nostro esempio è myshortcutsalerts_bot
- Selezioniamo il BOT e clicchiamo su avanti
- Assegniamo un nome alla CHAT e clicchiamo su crea
Configuriamo la CHAT
Abbiamo quasi finito con la predisposizione degli strumenti essenziali, dobbiamo solo recuperare l’ID della nostra chat Telegram, farlo è molto semplice:
- Apriamo la chat appena creata, scriviamo /start e inviamo il messaggio
- Adesso scarichiamo questo comando ed aggiungiamolo alla nostra libreria.
https://www.icloud.com/shortcuts/f87f48b3ea3846c1aa68511b9a4d7f1a - All’avvio del comando ci verrà chiesto d’inserire il TOKEN del BOT precedentemente appuntato. Recuperiamolo, inseriamolo nel campo e clicchiamo su OK
- Se fin qui abbiamo seguito tutto alla lettera, lo shortcut mostrerà una schermata con l’ID della chat
- Appuntiamolo da qualche parte insieme al TOKEN del BOT .
Creiamo il comando che invia messaggi attraverso Telegram
Benissimo! abbiamo tutto quello che serve per iniziare a costruire il nostro shortcut.
- Apiamo l’app Comandi e creiamo un nuovo comando cliccando sull’icona + in alto a destra
- Aggiungiamo un oggetto “Testo” per il messaggio da inviare e assegniamolo ad una variabile
- Aggiungiamo un oggetto “Testo” per l’ID della chat e assegniamolo ad una variabile
- Aggiungiamo un oggetto “Testo” per il TOKEN del BOT e assegniamolo ad una variabile
- Aggiungiamo un’azione “Seleziona Foto” e assegniamolo ad una variabile. In alternativa all’azione Foto, che consente di inviare una foto dal nostro rullino fotografico, possiamo inserire un oggetto “Testo” contenente l’URL diretto di una foto presente su internet. In quest’ultimo caso Telegram recupererà la foto via internet e la invierà all’interno del messaggio.
- Aggiungiamo un oggetto “URL” e inseriamo il seguente URL di Telegram per l’invio di messaggi con foto: https://api.telegram.org/bot<TOKEN>/sendPhoto
Al posto di <TOKEN> mettiamo la variabile contenente il TOKEN - Aggiungiamo un’azione “Ottieni contenuti di URL” e assegniamogli l’oggetto URL precedentemente inserito.
- Dall’opzione Metodo selezioniamo POST.
- Dall’opzione Corpo della richiesta selezioniamo Modulo.
- Adesso inseriamo i seguenti campi (chiave/valore) al modulo:
- caption (di tipo testo): assegniamogli la variabile contenente il testo del messaggio
- chat_id (di tipo testo): assegniamogli la variabile contenente l’ID della chat
- photo (di tipo file): assegniamogli la variabile contenente la foto
- Clicchiamo su Fine in alto a destra
- Assegniamo un nome al comando e proviamo ad eseguirlo per verificare che tutto funzioni correttamente. Il comando dovrebbe chiederci di selezionare una foto ed infine dovrebbe inviare i nostri dati all’URL Telegram per l’inoltro definitivo del messaggio alla nostra chat.
Modifichiamo lo shortcut per un utilizzo differente
Quello che abbiamo appena realizzato è una buona base di partenza per creare diversi scenari di utilizzo: invii automatici di messaggi con le automazioni di shortcuts, invii di messaggi allo scatenarsi di un evento HomeKit e molto altro; Con un po’ di pratica sarà facile utilizzare gli strumenti appena descritti per dar sfogo alla nostra creatività.
Vediamo come creare un’automazione
Prima di procedere oltre, è necessario apportare due piccole modifiche al comando appena creato. Se vogliamo che le automazioni non dipendano strettamente dall’input utente, è bene eliminare tutte quelle azioni che richiedono l’intervento manuale: come le selezioni di foto, l’input di testo e tutto ciò che non può essere scelto autonomamente dal dispositivo. Nel caso specifico del comando appena creato è la seleziona manuale della foto.
1. Editiamo il nostro comando cliccando sull’icona bianca tonda con i tre puntini.
3. Sostituiamo l’azione “Seleziona Foto” con un oggetto “Testo” e inseriamo al suo interno il link diretto ad una immagine.
4. Clicchiamo su Fine in alto a destra. Proviamo ad eseguire il comando per verificare che in chat arrivi il messaggio con l’immagine del nostro link
Creiamo un’automazione
Dopo aver eseguito queste modifiche, spostiamoci alla sezione delle automazioni.
- Creiamo una nuova automazione cliccando su + in alto a destra
- Selezioniamo “Crea un’automazione personale“
- Scegliamo il TRIGGER “Ora del giorno“
- Configuriamo il momento della giornata secondo le nostre preferenze e clicchiamo su Avanti in alto a destra.
- Clicchiamo su Aggiungi azione e scegliamo l’azione “Esegui il comando rapido“
- L’azione richiede l’assegnazione di un comando esistente. Clicchiamo su “Comando Rapido“, cerchiamo e selezioniamo il comando creato per l’invio dei messaggi su Telegram.
- Clicchiamo su Avanti in alto a destra per proseguire
- Se siete su iOS 14 disabilitate lo switch “Chiedi prima di eseguire“, in questo modo il comando verrà eseguito in background senza alcuna notifica di esecuzione. Per gli utenti iOS13, invece, l’esecuzione è dipendente dalla notifica di esecuzione.
- Cliccate su Fine in alto a destra per concludere.
- Al verificarsi dell’ora fatidica verrà eseguito il comando che invierà il messaggio alla chat.
Per questa lezione è tutto!
Grazie per l’ascolto