Después de leer y visitar bastantes sitios web donde explican diferentes formas de enviar notificaciones desde un router Mikrotik a Telegram, me he decidido por la que explican en los foros de adslzone.
La razón principal es que de esta manera se trabaja de una forma modular, lo que ayuda a ahorrar código y hacer mas legible los scripts.
La idea es crear un módulo donde configuramos el TOKEN del bot de Telegram y el ID del usuario de Telegram y luego creamos un script que manda el mensaje a ese módulo.
Tampoco voy a explicar la forma de crear un bot en Telegram ni como obtener su TOKEN ni ID de tu usuario o grupo de Telegram, puedes leer este artículo que escribí hace tiempo donde lo explico o si no hay multitud de sitios web donde seguro que lo explican mucho mejor que yo.
Empezamos creando el módulo para Telegram, desde el menú System -> Scrips pulsamos en el icono + de color azul

En el campo Name ponemos MyTGBotSendMessage, es importante que se llame así porque en futuros scripts haremos llamadas a este módulo por su nombre.
Cambia la parte del código con el TOKEN de tu bot e ID de tu chat de Telegram
:local BotToken "TOKEN_BOT";
:local ChatID "CHAT_ID";
:local parseMode "HTML";
:local SendText $MessageText;
/tool fetch url="https://api.telegram.org/bot$BotToken/sendMessage\?chat_id=$ChatID&parse_mode=$parseMode&text=$SendText" keep-result=no;
:log info "==> Send Telegram Message";
Test
Para comprobar si funciona, creamos otro script, al que llamamos test con el siguiente código

:local MessageText "Telegram Test OK";
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
Y lo ejecutamos

Si recibes el mensaje es que todo está correcta y si no lo recibes vuelve a comprobar de nuevo las credenciales de Telegram, y que has copiado correctamente el código del script.

Con este método ya tenemos una base para aplicar alarmas, notificaciones, etc. de nuestro router Mikrotik hacía Telegram
Espero que te haya gustado, pasa un gran día 🐧