Hi. I tried to edit a script that forwards SMS on Telegram, with a change to format the text in html (when there is a new line in a text message, the script command stops and I have to replace it with% 0A)
But I’m not practical and I certainly made big mistakes. can anyone help me fix it?
:log info "SMS to Telegram script started";
:local smsPhone;
:local smsMessage;
:local smsContent;
:local smsContent1;
:foreach i in=[/tool sms inbox find] do={
:set smsPhone [/tool sms inbox get $i phone];
:set smsMessage [/tool sms inbox get $i message];
:foreach 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 ($smsMessage . $char);
:set smsContent1 "$smsPhone $smsContent";
}
/tool fetch url="https://XXXXXXXXXX/sendmessage\?chat_id=XXXXXXXXX&text=$smsContent1";
}
:log info "SMS to Telegram script complete";