Envio de alertas en linux por Telegram

En este articulo lo único que quiero mostraros es un script muy simple para poder enviar alertas a través de otros programas mediante mensajes de telegram.

Para esto lo primero que necesitamos es crear un  bot en Telegram. Para eso nos pondremos en contacto con @BotFather que es un bot que se encarga de la gestión de los Bots de telegram.

Nos saldrá una bienvenida por así decirlo y tendremos que pulsar en iniciar :

En ese momento nos saldra una lista traga de opciones de las que tendremos que coger la primera /newbot

Lo siguiente que nos pedirá es el nombre del bot  yo en mi caso le pondré guiskas y luego el username del boot en mi caso usare guisBot ( siempre tiene que tener la palabra bot detrás  y ya nos pondrá los datos del bot y lo mas importante que necesitamos la API key para poder usar el bot :

NOTA IMPORTANTE: no compartas con nadie la API key ya que podrían usar el bot de cualquier forma.

La otra cosa que necesitamos es tener nuestra UsaerId que es nuestro identificador en telegram para poder hacer que el bot se comunique con nosotros.

para eso usamos el bot llamado @myidbot:

contactamos con el y ponemos /getid:

Con estos dos datos , la Api Key y el userId,  ya tenemos la información para poder crear el script.

Y a continuación con este pequeño script nos podemos enviar mensajes del sistema :

#! /bin/bash
USERID="USERID"
KEY="API KEY"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
DATE_EXEC="$(date "+%d %b %Y %H:%M")"

TEXT="$DATE_EXEC: $1"
curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&text=$TEXT" $URL > /dev/null 2>&1

USERID= POnemos el userId obtenido por el bot myidbot

KEY= ponemos la Api key de nuestro bot

TIMEOUT= el tiempo máximo de espera para el comando curl

URL=”https://api.telegram.org/bot$KEY/sendMessage” la url de envio de mensajes

DATE_EXEC=”$(date “+%d %b %Y %H:%M”)”  establecemos una fecha y hora para que se muestre siempre en el mensaje

TEXT=”$DATE_EXEC: $1″ establecemos el texto del mensaje primero la fecha y luego la primera variable al llamar el script

curl -s –max-time $TIMEOUT -d “chat_id=$USERID&disable_web_page_preview=1&text=$TEXT” $URL > /dev/null 2>&1 Ejecutamos la orden con curl añadimos unas opciones extras  al lanzar la url en forma de POST y lo enviamos a la url.

Luego ya nos queda simplemente utilizarlo :

telegram-alert.sh "hola mundo"

y recibo este mensaje en mi cuenta :

para que puedes usar esto: pues para alertas que necesites.

yo lo uso para avisar cuando el RouterPi se conecta o renueva la Ip externa y saber cual es. también para saber si se han cambiado los direccionamientos Ip en el servidor de dns externo.

Espero que os sea de utilidad. otro día pondré alguna cosilla mas que he podido crear cambiando un poco este script

Deja un comentario