![]() |
![]() |
RouterOS Scripts a collection of scripts for MikroTik RouterOS |
ℹ️️ Info: This module can not be used on its own but requires the base installation. See main README for details.
This module adds support for sending notifications via Telegram ↗️ via bot api. A queue is used to make sure notifications are not lost on failure but sent later.
Just install the module:
$ScriptInstallUpdate mod/notification-telegram;
Also install Telegram on at least one of your mobile and/or desktop devices and create an account.
Open Telegram, then start a chat with BotFather ↗️ and create your own bot:

Set that token from BotFather (use your own!) to TelegramTokenId, for
now just temporarily:
:set TelegramTokenId "5214364459:AAHLwf1o7ybbKDo6pY24Kd2bZ5rjCakDXTc";
Now open a chat with your bot and start it by clicking the START button,
then send your first message. Any text will do. On your device run
$GetTelegramChatId to retrieve the chat id:
$GetTelegramChatId;

Finally edit global-config-overlay, add TelegramTokenId with the token
from BotFather and TelegramChatId with your retrieved chat id. Then
reload the configuration.
ℹ️ Info: Copy relevant configuration from
global-config(the one without-overlay) to your localglobal-config-overlayand modify it to your specific needs.
Sending notifications to a group is possible as well. Add your bot to a group
and make it an admin (required for read access!) and send a message and run
$GetTelegramChatId again. Then use that chat id (which starts with a dash)
for TelegramChatId.
Groups can enable the Topics feature. Use TelegramThreadId to send to a
specific topic in a group.
There’s nothing special to do. Every script or function sending a notification will now send it to your Telegram account.
But of course you can use the function to send notifications directly. Give it a try:
$SendTelegram "Subject..." "Body...";
Alternatively this sends a notification with all available and configured methods:
$SendNotification "Subject..." "Body...";
To use the functions in your own scripts you have to declare them first. Place this before you call them:
:global SendTelegram;
:global SendNotification;
In case there is a situation when the queue needs to be purged there is a function available:
$PurgeTelegramQueue;
You can use a profile photo for your bot to make it recognizable. Open the chat with BotFather ↗️ and set it there.

Have a look at my Logo Color Changer to create a colored version of this scripts' logo.
⬅️ Go back to main README
⬆️ Go back to top
RouterOS Scripts documentation generated on Thu, 20 Nov 2025 20:47:50 +0100 for main/3287/699be25b
Copyright © 2013-2025 Christian Hesse <mail@eworm.de>