aboutsummaryrefslogtreecommitdiffstats

Send notifications via Telegram

GitHub stars GitHub forks GitHub watchers required RouterOS version Telegram group @routeros_scripts donate with PayPal

⬅️ Go back to main README

ℹ️️ Info: This module can not be used on its own but requires the base installation. See main README for details.

Description

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.

Requirements and installation

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.

Configuration

Open Telegram, then start a chat with BotFather ↗️ and create your own bot:

create new 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;

get chat id

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 local global-config-overlay and modify it to your specific needs.

Notifications to a group

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.

Usage and invocation

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;

Tips & Tricks

Set a profile photo

You can use a profile photo for your bot to make it recognizable. Open the chat with BotFather ↗️ and set it there.

set profile photo

Have a look at my RouterOS-Scripts Logo Color Changer to create a colored version of this scripts' logo.

See also


⬅️ Go back to main README
⬆️ Go back to top