De vegades no cal una aplicació nova. Només cal que la informació arribi al lloc correcte.
La idea d’aquest projecte era molt simple: en comptes d’obrir una web o una app per mirar quin temps farà, fer que la previsió vingués a buscar-me directament a Telegram.

Weather Telegram Bot és un petit script fet amb Python que consulta l’API de Meteoblue per unes coordenades concretes, recull la previsió del dia i es queda només amb les dades que m’interessen: de les 8 del matí fins a les 10 de la nit.
De cada hora mostra la temperatura de sensació, la probabilitat de pluja i la velocitat del vent. Després ho posa una mica bonic, hi afegeix una icona segons el risc de precipitació i ho envia tot en un únic missatge.
No intenta predir el temps —per sort—. Només fa de pont entre dues APIs i converteix un JSON bastant poc amable en una cosa que es pot llegir d’un cop d’ull.
Les coordenades, la clau de Meteoblue, el token del bot i l’identificador del xat viuen en un fitxer .env, lluny del codi i del repositori. Cada cop que s’executa, el script consulta, filtra, formata i envia.
Un sol fitxer de Python, unes quantes peticions HTTP i la previsió del dia apareixent al xat. Petit, pràctic i fet sobretot per no haver de pensar-hi gaire més.
Esquema:
Inici Script
↓
Llegeix el fitxer .env
↓
Consulta Meteoblue
↓
Filtra les hores de 08 h a 22 h
↓
Prepara el missatge
↓
L’envia mitjançant Telegram
↓
La previsió arriba al xat
I el bot de Telegram, d’on surt?
Abans que Python pugui enviar res, cal crear el bot. Això es fa des del mateix Telegram, parlant amb BotFather: li envies /newbot, tries un nom i un usuari, i et retorna un token. Aquest token és la clau que permet que l’script actuï en nom del bot.
Després cal saber a quin xat ha d’escriure. Obres una conversa amb el bot, li envies /start i consultes getUpdates amb el token anterior. Dins la resposta hi ha el chat_id. Amb aquestes dues peces guardades al .env, el script ja pot cridar sendMessage i deixar la previsió al xat correcte.
Tot el procés està explicat pas a pas en aquest article de Man Hay Hong.