Telegram.Bot: Inviare "Image by URL" e testo associato

Premessa & Situazione
In questo ultimi giorni stavo riprendendo in mano un vecchio progetto sviluppato da me lo scorso anno con lo scopo di automatizzare qualche notifica su Telegram. Il perche’ di questo ritorno di fiamma? Partendo da quel progetto ho la necessita’ di evolverlo per adattarlo (spero) alle necessita’ di un nuovo cliente. Nel caso specifico dovro’ dargli la possibilita’ di caricare una foto e mettere il testo descrittivo. Una volta compilati i due campi vi sara’ l’invio al canale. Il tutorial di questa settimana e’ molto breve e molto orientato al codice, non mi dilunghero’ in parole.
Importante: il tutorial presuppone che abbiate gia’ un canale Telegram e sappiate usarlo.
MessageItemDTO
Il DTO conterra’ solamente due campi in questo esempio. Nel mio codice reale ho molte piu’ informazioni, ma in questo contesto sono del tutto superflue.
|
|
Come potete notare, non mi sono dilungato in proprieta’ extra. Sono stato di parola
Telegram.Bot
Prima di cominciare, vi invito ad installare .NET Client for Telegram Bot API tramite nuget per potere utilizzarlo come nel seguente codice.
Una volta installato dobbiamo come prima cosa inserirlo nei nostri using
|
|
per poi procedere col codice vero e proprio.
Ora - come prima cosa- abbiamo la necessita’ di istanziare il nostro bot fornendo il Token ottenuto da telegram (nel mio caso lo passo tramite dependency injection alla Azure Function)
|
|
Per vostra informazione il token assomiglia a :
valore1:valore2
Nel seguente codice MessageItemDTO arriva in formato json e come prima operazione dobbiamo ricorrere a DeserializeObject per poterlo utilizzare
|
|
Una volta tipizzato, dobbiamo verificare che non sia null e che ImageURL e Text siano valorizzati
|
|
Se tutto e’ validato (vi lascio a voi la verifica/certezza dell’immagine esistente) e’ giunto il momento di inviare il messaggio.
|
|
Come avrete visto le righe di codice sono davvero poche ed il risultato e’ ottimo.
Lascia un tuo Feedback!
Hai letto l’articolo sino in fondo? Vuoi raccontare la tua esperienza? Oppure semplicemete porre un quesito? Puoi farlo tranquillamente sul mio profilo linkedin nel post Telegram Bot e l’invio di immagini - async mode unendoti ai commenti gia’ presenti.