d42372e996
Long-poll getUpdates rather than a webhook: the box takes no inbound connections and reaches telegram through a relay, so the direction has to stay outbound. A failed poll waits and retries, because the relay going down is the normal cause and it comes back on its own. The backlog is discarded on start. Telegram holds undelivered updates for 24 hours, so a daemon that was down overnight would otherwise answer every question in order, and a reminder set from an eight-hour-old message lands at the wrong time. Missing it is the safe direction. ChatID is the only accepted sender and anything else is dropped without a reply, because a reply confirms the bot exists and whose it is. Chat ids are not guessable but they are not secret either, so that is the whole authorisation and it is an allowlist of one.