telegram-chat: ignore new messages after reboot

This script supports multiple devices, and sending offset to discard
messages is delayed to third fetch to make sure all devices get the
message.

This can cause trouble, though: Sending a device a reboot command can
make that device reboot multiple times 🥴 or - even worse - make it
enter an infinite boot loop 😳 if it is the only device.

So let's ignore first messages after reboot.
This commit is contained in:
Christian Hesse 2023-02-23 22:36:37 +01:00
parent 5ea892662f
commit 02b447212d

View file

@ -74,7 +74,8 @@ $WaitFullyConnected;
:local UpdateID 0;
:foreach Update in=[ :toarray $Data ] do={
:set UpdateID [ $JsonGetKey $Update "update_id" ];
:if ($UpdateID >= $TelegramChatOffset->2) do={
:if (($TelegramChatOffset->0 > 0 || [ /system/resource/get uptime ] > 5m) && \
$UpdateID >= $TelegramChatOffset->2) do={
:local Trusted false;
:local Message [ $JsonGetKey $Update "message" ];
:local MessageId [ $JsonGetKey $Message "message_id" ];