Mikrotik Scripts: envío de notificación de encendido a Telegram

El script MikroTik envía una notificación para encender el dispositivo en Telegram. Le permite conocer sobre reinicios inesperados del dispositivo o problemas de alimentación del equipo, complementando el sistema de monitoreo.
Al enviar un mensaje a Telegram, también escribirá el evento en el registro del sistema.

? Para que el script funcione, debe tener un token de bot de Telegram y una identificación de chat o una identificación personal. Crear un bot de Telegram y obtener las identificaciones requeridas no es el tema de este artículo.

El mensaje de Telegram contiene:

  1. identificador de dispositivo;
  2. mensaje de información sobre el inicio del dispositivo.

Artículo en otros idiomas:
?? – Mikrotik Scripts: sending power on notification to Telegram
?? – MikroTik Скрипты: отправить уведомление о включении устройства в Telegram
?? – Scripts Mikrotik: envoi d’une notification pour allumer l’appareil dans Telegram
?? – MikroTik-Skripte: Senden Sie eine Benachrichtigung, um das Gerät im Telegramm einzuschalten
?? – MikroTik-scripts: melding over het inschakelen van het apparaat, bericht in Telegram

Cambiar la identidad del dispositivo

Cambie el ID del dispositivo para comprender mejor qué dispositivo envía la solicitud.

[System] -> [Identity]

o

/system identity set name="WhiteHouseMikroTik"

Cree una notificación de secuencia de comandos para encender el dispositivo

El script crea la variable RebootStatus.
Si la variable RebootStatus no importa (lo que sucede cuando se inicia el script por primera vez), se envía un mensaje a Telegram.
Luego, la variable RebootStatus se establece en True.

Para que el script funcione, debe establecer los siguientes permisos: lectura, escritura, política, verificación.

[System] -> [Scripts] -> [+] -> [Name: CheckPowerOn] -> [Policy: read, write, policy, test]

Código de secuencia de comandos:

# Func: Telegram send message
:local TGSendMessage do={
    :local tgUrl "https://api.telegram.org/bot$Token/sendMessage?chat_id=$ChatID&text=$Text&parse_mode=html";
    /tool fetch http-method=get url=$tgUrl keep-result=no;
}

# Constants
:global RebootStatus;
:local TelegramBotToken "987654321:AAFJIVTAWodBwzGX2CLne6-PK4RFNSy-8OY";
:local TelegramChatID "987654321";
:local DeviceName [/system identity get name];

:local TelegramMessageText "\F0\9F\9F\A2 <b>$DeviceName:</b> start after Power Off.";

# Program
:if ($RebootStatus != true)  do={
    $TGSendMessage Token=$TelegramBotToken ChatID=$TelegramChatID Text=$TelegramMessageText;
    :set RebootStatus true;
    :log info "Script CheckPowerOn send Telegram message."
}
Mikrotik Scripts: envío de notificación de encendido a Telegram

Agregar inicio de script para programar

Para que la secuencia de comandos funcione, debe establecer los siguientes permisos: read, write, policy, test.

[System] -> [Schedule] -> [+] -> [Name: CheckPowerOn script] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]

Código de secuencia de comandos:

/system script run CheckPowerOn
Agregar un script para verificar el inicio del dispositivo y enviar un mensaje de Telegram al programador de tareas de MikroTik

Ahora, cada 5 minutos, el dispositivo verificará la variable de reinicio y enviará una notificación a Telegram si el dispositivo se ha reiniciado.


? El script de Mikrotik para enviar una notificación sobre cómo encender un dispositivo en Telegram se discutió en este artículo. Espero que esto ayude a aumentar el control sobre su dispositivo MikroTik. Sin embargo, si tiene algún problema durante la configuración, no dude en escribir en los comentarios. Trataré de ayudar.

Se verifica el script: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (estable).

Deja un comentario