MikroTik-Skripte: Senden einer Nachricht an Telegram (funktion)

Wenn Sie vorhaben, viele Skripte auf Ihrem MikroTik-Gerät zu verwenden und deren Ergebnisse an Telegram zu senden, es ist nicht rational, die Prozedur zum Senden einer Nachricht in jedes Skript zu schreiben. Der beste Weg wäre, die Funktion „Nachricht an Telegram senden“ in einem separaten Skript zu platzieren. Und bei Bedarf auf dieses Skript verweisen.

Jetzt müssen Sie die Telegram Benachrichtigung Parameter in nur einem Skript ändern.

🔔 For the script to work, you must have a Telegram bot token and a chat ID or personal ID. Creating a Telegram bot and getting the required IDs is not the topic of this article.

Artikel in anderen Sprachen:
🇺🇸 – MikroTik Scripts: Sending a message to Telegram (function)
🇪🇸 – MikroTik Scripts: Enviar un mensaje a Telegram (función)
🇷🇺 – MikroTik Скрипты: Отправка сообщения в Telegram (функция)
🇫🇷 – Scripts MikroTik: Envoi d’un message à Telegram (fonction)

Skript „Senden einer Nachricht an Telegram“

Da das Skript von einem anderen Skript ausgeführt wird, ist das Festlegen der Skriptausführungsberechtigungen nicht erforderlich.

Das Skript verwendet HTML-Markup, wobei die von Telegram verwendeten Markup-Optionen hier gelesen werden können.

Das Skript akzeptiert die MessageText-Variable, die den Nachrichtentest enthält. MessageText darf nicht leer sein.

Wenn das Skript fehlerfrei ausgeführt wird, werden Informationen zum Senden einer Nachricht und von Text im MikroTik-Protokoll aufgezeichnet.

[System] -> [Scripts] -> [+] -> [Name: MyTGBotSendMessage] -> [Don't Require Permissions]

Skriptcode:

:local BotToken "987654321:AAFJIVTAWodBwzGX2CLne6-PK4RFNSy-8OY";

:local ChatID "987654321";

:local ParseMode "html";

:local DisableWebPagePreview True;

:local SendText $MessageText;

:local tgUrl "https://api.telegram.org/bot$BotToken/sendMessage?chat_id=$ChatID&text=$SendText&parse_mode=$ParseMode&disable_web_page_preview=$DisableWebPagePreview";

/tool fetch http-method=get url=$tgUrl;

:log info "Send Telegram Message: $MessageText";
MikroTik-Skripte: Senden einer Nachricht an Telegramm (Funktion)

Aufrufen des Skripts „Senden einer Nachricht an ein Telegram“ von einem anderen Skript aus

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

Um eine Nachricht zu senden, müssen Sie den Parameter MessageText an das Skript MyTGBotSendMessage übergeben.

Skriptcode:

:local DeviceName [/system identity get name];

:local MessageText "\F0\9F\9F\A2 <b>$DeviceName:</b> <i>italic</i>  <code>inline fixed-width code</code> plain text <a href=\"https://mhelp.pro/\">More Scripts</a>";

:local SendTelegramMessage [:parse [/system script  get MyTGBotSendMessage source]];

$SendTelegramMessage MessageText=$MessageText;

If, when calling the script, you receive a syntax error or a failure: closing connection: <400 Bad Request> error, the problem may be in the use of MikroTik service characters in the message text, for verification try sending a plain text without special characters or markup characters, in English.

Wenn beim Aufrufen des Skripts ein syntax error oder ein failure: closing connection: <400 Bad Request> error angezeigt wird, liegt das Problem möglicherweise in der Verwendung von MikroTik-Dienstzeichen im Nachrichtentext. Versuchen Sie zur Überprüfung, eine Nachricht zu senden Ein einfacher Text ohne Sonderzeichen oder Markup-Zeichen in Englisch.

Aufrufen des Skripts "Senden einer Nachricht an ein Telegramm" von einem anderen Skript aus

🟢 In diesem Artikel wurde die Erstellung des Skripts „Nachricht an Telegram senden“ von Mikrotik erläutert. Ich hoffe, dass das Senden von Nachrichten an Telegram von MikroTik-Geräten jetzt klarer geworden ist. Wenn Sie jedoch beim Einrichten auf Probleme stoßen, können Sie diese gerne in die Kommentare eintragen. Ich werde versuchen zu helfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.