Telegram's Bot API rate limits are not new, but the way they're enforced has tightened twice since early 2025. Bots that worked fine through 2024 are now seeing intermittent "Too Many Requests" responses or, worse, silently delayed messages.
The numbers that matter
- Sending: about 30 messages per second across all chats. Bursts of more than 20 in a few seconds invite throttling even below the published limit.
- Per-chat: about 1 message per second to a single user; about 20 per minute to a single group.
- Reading: long-poll cycles return a finite update batch — fall behind on processing and the next cycle lags.
Why your signal bot trips them
Signal channels publish a single message that may fan out to thousands of subscribers' routing bots. Each subscriber's bot then often: replies with an acknowledgement, edits the message with a parse confirmation, sends a status update to the user, and forwards a copy to the workspace's log channel. Four outbound messages per signal, with no rate-limit awareness, will trip the per-chat limit on the busiest day every time.
The pattern that works
- A single send queue per chat with a 1-message-per-second token bucket.
- Edit-in-place instead of follow-up messages for status updates (one message lifecycle, not four).
- Forward-once to the log channel rather than per-event log lines.
- Exponential back-off on 429s with respect for the Retry-After header — never a fixed sleep.