Scripts Mikrotik: envoi d’une notification pour allumer l’appareil dans Telegram

Le script MikroTik envoie une notification de mise sous tension de l’appareil à Telegram. Vous permet de connaître les redémarrages inattendus de périphériques ou les problèmes d’alimentation de l’équipement, en complément du système de surveillance.
Lors de l’envoi d’un message à Telegram, il écrira également l’événement dans le journal système.

🔔 Pour que le script fonctionne, vous devez disposer d’un jeton de robot Telegram et d’un identifiant de chat ou d’un identifiant personnel. La création d’un bot Telegram et l’obtention des identifiants requis n’est pas le sujet de cet article.

Le message Telegram contient:

  1. identifiant de l’appareil;
  2. message d’information sur le démarrage de l’appareil.

Article dans d’autres langues:
🇺🇸 – Mikrotik Scripts: sending power on notification to Telegram
🇪🇸 – Mikrotik Scripts: envío de notificación de encendido a Telegram
🇷🇺 – MikroTik Скрипты: отправить уведомление о включении устройства в Telegram
🇩🇪 – MikroTik-Skripte: Senden Sie eine Benachrichtigung, um das Gerät im Telegramm einzuschalten

Changer de périphérique Identité

Modifiez l’ID de l’appareil pour mieux comprendre quel appareil envoie la demande.

[System] -> [Identity]

ou

/system identity set name="WhiteHouseMikroTik"

Créer une notification de script sur la mise sous tension de l’appareil

Le script crée la variable RebootStatus.
Si la variable RebootStatus n’a pas d’importance (ce qui se produit lorsque le script est lancé pour la première fois), un message est envoyé à Telegram.
Ensuite, la variable RebootStatus est définie sur True.

Pour que le script fonctionne, vous devez définir les autorisations suivantes: read, write, policy, check.

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

Code de script:

# 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."
}
Scripts Mikrotik: envoi d'une notification pour allumer l'appareil dans Telegram

Add script launch to schedule

Pour que le script fonctionne, vous devez définir les autorisations suivantes: read, write, policy, test.

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

Code de script:

/system script run CheckPowerOn
Ajout d'un script pour vérifier le démarrage de l'appareil et envoyer un message Telegram au planificateur de tâches MikroTik

Désormais, toutes les 5 minutes, l’appareil vérifiera la variable de redémarrage et enverra une notification à Telegram si l’appareil a été redémarré.


Le script Mikrotik pour l’envoi d’une notification de mise sous tension d’un appareil dans Telegram a été abordé dans cet article. J’espère que cela vous aidera à mieux contrôler votre appareil MikroTik. Cependant, si vous rencontrez des problèmes lors de la configuration, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *