Skip to main content

Mikrotik SMS to SMS forwarding

Using Mikrotik to forward SMS messages to Telegram with optional sms forwarding to another cellular phones.

if you having problem with SMS only 2FA, and sharing account accross the company, this is usefull:



Manual:Tools/Sms


/system scheduler add interval=5s name=sch.sms-forward-telegram on-event=sms-forward-telegram


script: sms-forward-telegram


:local smsPhone;
:local smsMessage;
:local smsContent;
:local smsContent1;


:foreach i in=[/tool sms inbox find message=""] do={
	/tool sms inbox remove $i
}

:foreach i in=[/tool sms inbox find] do={

:log info "SMS to Telegram script started";
:set smsPhone [/tool sms inbox get $i phone]; :set smsMessage [/tool sms inbox get $i message]; :for i from=0 to=([:len $smsMessage] - 1) do={ :local char [:pick $smsMessage $i] :if ($char = "\n") do={ :set $char "%0A"; } :if ($char = " ") do={ :set $char "%20"; } :if ($char = "-") do={ :set $char "%2D"; } :if ($char = "\?") do={ :set $char "%3F"; } :if ($char = "!") do={ :set $char "%21"; } :if ($char = "+") do={ :set $char "%2B"; } :if ($char = "%") do={ :set $char "%22"; } :if ($char = "'") do={ :set $char "%27"; } :if ($char = "(") do={ :set $char "%28"; } :if ($char = ")") do={ :set $char "%29"; } :if ($char = ",") do={ :set $char "%2C"; } :if ($char = ".") do={ :set $char "%2E"; } :if ($char = ":") do={ :set $char "%3A"; } :if ($char = ";") do={ :set $char "%3B"; } :if ($char = "=") do={ :set $char "%3D"; } :if ($char = "&") do={ :set $char "%26"; } :if ($char = "*") do={ :set $char "%2A"; } :if ($char = "/") do={ :set $char "%2F"; } :set smsContent ($smsContent . $char); }

:set smsContent1 "$smsPhone $smsContent";
/tool fetch url="https://api.telegram.org/botNNNNNNNNN:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC/sendMessage?chat_id=_CHATID_&text=$smsContent1"; /tool sms send usb1 +36XXXXXXXXX message="$smsContent1"; /tool sms inbox remove $i

:log info "SMS to Telegram script complete";
}

Comments

Post a Comment

Popular posts from this blog