Notificaciones en Telegram
Telegram es mucho más que mensajería instantánea. Y prueba de ello son los bot y la posibilidad de usarlos para mis propios proyectos.
Soy un usuario asiduo de Telegram y desde que habilitó la opción de los bot no he parado de buscar y entender cómo funcionan y cómo puedo sacarle partido. Entre mis proyectos se encontró el de programar uno para gestionar mi Raspberry Pi. Pero puesto que eso era un proyecto que requería más tiempo del que disponía, busqué una alternativa: Los webhook.
Los webhook no son más ni menos que eventos que desencadenan acciones. En el caso de Telegram y sus bot, entre otras opciones, tenemos la posibilidad de acceder a una API-REST que nos permite invocar dichos webhook y desencadenar eventos sobre nuestros bot, sin la necesidad de tener uno funcionando constantemente en un servidor.
Con esta opción en mente, decidí programar un script en bash que me permitiera, de una manera fácil y sencilla, publicar un mensaje con mi bot de notificaciones sin necesidad de ocuparme de su mantenimiento y con el único fin de automatizar ciertos eventos en mi RPi y recibir notificaciones de eventos.
Así pues, haciendo uso del script publishMessageToRaspiBot.sh, seteando las variables CHAT_ID
y API_KEY
con los valores correspondientes al chat_id
de nuestra cuenta de Telegram donde queramos recibir la notificación y el token del bot que vamos a usar, bastará con invocar la orden (con el mensaje entre comillas):
./publishMessageToRaspiBot.sh "Este mensaje ha sido enviado desde la consola ejecutando el script \`publishMessageToRaspiBot.sh\`."
Y acto seguido en la cuenta de Telegram se recibirá dicho mensaje:
Así, bastará con invocar dicho script en cada notificación de la RPi que queramos enviar con la información (siempre que no supere los 1024 caracteres). Además, haciendo uso del formato Markdown, podremos darle incluso cierto formato (también está la opción de usar HTML, pero de momento me basta con esto).