aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2024-03-28 22:33:49 +0100
committerGravatar Christian Hesse <mail@eworm.de>2024-04-01 22:45:35 +0200
commit7e5010a60853c946e6e73406031fe0e937bee8df (patch)
tree4b3f87d746a7012efaf28cadb2e75dd9946a0891
parentc01a424f4f41997d1b8b4a45c2bb033f37470393 (diff)
telegram-chat: use :deserialize ...
... instead of $ParseJson. This requires RouterOS 7.13.
-rw-r--r--telegram-chat.rsc13
1 files changed, 6 insertions, 7 deletions
diff --git a/telegram-chat.rsc b/telegram-chat.rsc
index 3d0f397..c1a1cbc 100644
--- a/telegram-chat.rsc
+++ b/telegram-chat.rsc
@@ -34,7 +34,6 @@
:global MAX;
:global MIN;
:global MkDir;
- :global ParseJson;
:global RandomDelay;
:global ScriptLock;
:global SendTelegram2;
@@ -86,18 +85,18 @@
:error false;
}
+ :local JSON [ :deserialize from=json value=$Data ];
:local UpdateID 0;
:local Uptime [ /system/resource/get uptime ];
- :foreach UpdateArray in=([ $ParseJson $Data ]->"result") do={
- :local Update [ $ParseJson $UpdateArray ];
+ :foreach Update in=($JSON->"result") do={
:set UpdateID ($Update->"update_id");
- :local Message [ $ParseJson ($Update->"message") ];
+ :local Message ($Update->"message");
:local IsReply [ :len ($Message->"reply_to_message") ];
- :local IsMyReply ($TelegramMessageIDs->([ $ParseJson ($Message->"reply_to_message") ]->"message_id"));
+ :local IsMyReply ($TelegramMessageIDs->[ :tostr ($Message->"reply_to_message"->"message_id") ]);
:if (($IsMyReply = 1 || $TelegramChatOffset->0 > 0 || $Uptime > 5m) && $UpdateID >= $TelegramChatOffset->2) do={
:local Trusted false;
- :local Chat [ $ParseJson ($Message->"chat") ];
- :local From [ $ParseJson ($Message->"from") ];
+ :local Chat ($Message->"chat");
+ :local From ($Message->"from");
:foreach IdsTrusted in=($TelegramChatId, $TelegramChatIdsTrusted) do={
:if ($From->"id" = $IdsTrusted || $From->"username" = $IdsTrusted) do={