En este momento estás viendo Enviar alertas con Telegram desde un MikroTik

Enviar alertas con Telegram desde un MikroTik

  • Autor de la entrada:
  • Categoría de la entrada:Tutoriales
  • Tiempo de lectura:6 minutos de lectura

El objetivo de este articulo es poder enviar alertas con Telegram desde MikroTik RouterOS. Hay bastante información en Internet, pero voy a dejar los procedimientos que utilizamos en PROZCENTER.

Algunos pasos hay que hacerlos desde Telegram, en este articulo mostramos capturas de la APP de Windows, pero es lo mismo si lo hacen desde el teléfono o desde la APP Web.

Crear un bot en Telegram

Estos bots quedan atados a la cuenta que los crea, aunque luego se pueden transferir a otro Propietario. Atención! Escribir sólo a la cuenta @botfather que esta verificada, porque a veces aparecen otras cuentas que son falsas.

Pasos a seguir:

  1. Contactar al @botfather
  2. Hacer click en START y luego escribir: /newbot
  3. Completar el nombre y username del Bot (el cual debe terminar con el subfijo bot o _bot)
  4. Anotar los datos del bot, que vendrían a ser el username y password del token API. Si alguien malintencionado obtiene esos datos, puede borrar el bot o hacer cosas peores!

Crear un grupo de Telegram

Para poder utilizar el API de Telegram para enviar mensajes desde un Bot, debemos utilizar el username y password previamente obtenidos del BotFather y además necesitamos algo llamado “chat ID”. Esta variable representa la conversación a donde el Bot enviará mensajes. Si bien es posible utilizar un chat ID de un usuario en particular, lo más seguro y flexible es crear un grupo de Telegram que incluya nuestra cuenta y la del Bot. Al realizar este paso se genera un chat ID del grupo donde el Bot podrá escribir sus mensajes.

La ventaja de utilizar un grupo es que además puedo agregar usuarios (o Bots) adicionales que requieran acceder a las alertas que vamos a enviar posteriormente desde RouterOS.

Pasos a seguir:

  1. Crear grupo de Telegram vacío, sin usuarios ni bots.
  2. Ahora si, agregar el Bot al grupo.
  3. Consultar el chat ID desde un navegador, debería ser un número negativo, por ejemplo -960986007. Para lograr este paso debemos abrir una ventana del navegador y hacer la siguiente llamada: https://api.telegram.org/bot6559896712:AAG1F2tcT6ItRidkBr6j6xeWaU9sQtozt2Y/getUpdates
    Nota: reemplazar el texto resaltado con los datos de tu Bot Token.

Enviar mensajes desde RouterOS

En MikroTik RouterOS podemos utilizar la herramienta fetch para llamar al Bot y enviar mensajes con este simple script:

{
:local Mensaje "Se cayo el sistema!"
:local BotToken "6559896712:AAG1F2tcT6ItRidkBr6j6xeWaU9sQtozt2Y"
:local ChatID "-960986007"
:local TelegramURL "https://api.telegram.org/bot$BotToken/sendMessage\?chat_id=$ChatID&text=$Mensaje"
/tool fetch output=none $TelegramURL
}

Si queremos ir más allá y enviar emojis, letras con acentos o caracteres especiales, debemos convertirlos a Unicode primero, Hay una herramienta gratis y online que sirve para eso: https://r-1.ch/mikrotik-unicode-ssid-generator.php. Si bien esta pensada para crear SSIDs con emojis, nos sirve de todos modos para convertir cualquier caracter especial a Unicode. Mejoramos entonces nuestro script, esta vez con emojis y acentos:

{
:local Mensaje "\F0\9F\92\A5 Se cay\C3\B3 el sistema!"
:local BotToken "6559896712:AAG1F2tcT6ItRidkBr6j6xeWaU9sQtozt2Y"
:local ChatID "-960986007"
:local TelegramURL "https://api.telegram.org/bot$BotToken/sendMessage\?chat_id=$ChatID&text=$Mensaje"
/tool fetch output=none $TelegramURL
}

Las posibilidades son infinitas, pero ya tienen la herramienta para enviar mensajes utilizando un Bot de Telegram.

Espero este articulo te haya resultado útil. ¡Hasta al próxima!