Envío de alertas con Telegram

Hola, en esta entrada vamos a hablar sobre como enviar alertas. En muchas ocasiones puede ser útil tener una forma de enviar avisos cuando uno de nuestros sistemas falle, la forma más clásica es el envío de un correo electrónico, pero en esta ocasión vamos a hacerlo a través de Telegram.

Desde que sacaron la API de Telegram el envío de mensajes a través de esta plataforma se ha vuelto realmente sencillo, especialmente desde que sacaron la API para los bots.
Lo primero que haremos será crearnos un bot, que será el que se encargue de enviar los mensajes, para ello abriremos un chat a @BotFather que es el bot encargado de crear las cuentas.

Escribimos /newbot y nos pedirá los datos para nuestro nuevo bot, nombre y usuario, y después nos dará el token para poder usarlo.



Ahora que tenemos el token vamos a mirar si funciona correctamente, podemos comprobarlo haciendo una petición a la API vía web.

https://api.telegram.org/bot12345678:AAAAAAAAAAAAAAAAAAAAAAA/getme

Sustituimos lo que esta en negrita por nuestro token y si todo está correcto nos devolverá esto:

{"ok":true,"result":{"id":12345678,"first_name":"Mi_Bot","username":"bot1"}}

Ahora que vemos que nos funciona necesitamos saber a quien le vamos a enviar el mensaje, en este caso nos lo vamos a enviar a nosotros mismos, así que le abrimos un chat a nuestro bot y lo saludamos de forma educada. 
Luego hacemos la siguiente petición para ver los datos de los mensajes que enviamos al bot.

https://api.telegram.org/bot12345678:AAAAAAAAAAAAAAAAAAAA/getUpdates

Y nos devolverá algo parecido a lo siguiente pero con tus datos.

{"ok":true,"result":[
{"update_id":292419999,"message":{"message_id":292,"from":{"id":2345678,"first_name":"Preto"},"chat":{"id":2345678,"first_name":"Preto"},"date":1438873808,"text":"Hola Bot"}},{"update_id":292420000,"message":{"message_id":306,"from":{"id":2345678,"first_name":"Preto"},"chat":{"id":2345678,"first_name":"Preto"},"date":1438958696,"text":"¿Que tal?"}}
]}

Lo que nos hace falta es el número que aparece en negrita, que es el identificador del chat (chat_id), y es el número que usaremos para enviar el mensaje de alerta. 
Ahora ya tenemos todo lo necesario para poder enviar mensajes con el bot, y para hacerlo enviaremos una petición como las anteriores con el método sendMessage y los parámetros chat_id y text.

https://api.telegram.org/bot12345678:AAAAAAAAAAA/sendMessage?chat_id=2345678&text=hola%20esto%20es%20una%20alerta

Con esto el bot ya nos habrá enviado el mensaje a nuestra cuenta de telegram. Este sistema lo podríais implantar usando wget, python, powershell, o lo que mas cómodo os resulte en cada caso.

Hasta la próxima.

4 comentarios:

  1. Perdona, en primer lugar gracias por el tutorial.
    Si no te es mucha molestia, sabrias indicarme como hacer esto mismo pero en un grupo?.
    De nuevo gracias.

    ResponderEliminar
  2. Añade el bot al grupo escribe algo y actualiza el bot así.

    https://api.telegram.org/b12345/getUpdates

    Ahí veras el chat_id del grupo y ya podras enviar mensajes al grupo de la misma manera que si fuera un mensaje privado.

    https://api.telegram.org/bot12345/sendMessage?chat_id=-102858&text=hola

    El chat_id de grupos y canales es negativo.

    Espero que te ayude.

    Un saludo

    ResponderEliminar
    Respuestas
    1. Disculpa mi retarso en agradecerte la respuesta, un resfriado es el culpable. Muchisimas gracias por tu respuesta y por tu trabajo de divulgación.

      Eliminar
    2. No hay nada que disculpar. Me alegro de que te haya resultado útil.

      Un saludo.

      Eliminar