Core concepts
The five ideas that explain how bots fit into SprinTelex.
1. The trust model
Human chats on SprinTelex are end-to-end encrypted, and that is a hard boundary: bots can never enter a human E2EE chat, read one, or be added to one. Bots live only in bot chats, which are server-mediated, never encrypted, and always labeled with a BOT badge plus a first-open disclosure. Test chats carry an additional TEST banner.
This is enforced in the protocol, not just the UI: bot messages live in separate tables from E2EE messages, and group membership for bots is tracked separately from human membership.
2. Test and live environments
Every bot has two environments, each with its own token: test and live. Only one token is active per environment at a time. A test token can never write into a live thread or reach a real user, and a live token can never write into a test thread. The API refuses cross-environment writes.
Develop against test. Switch to the live token only when real users are involved, and treat the live token like a production secret from day one.
3. Updates: polling vs webhooks
Your bot learns about new messages through updates. Two transports deliver them: long polling (getUpdates, the call waits up to 50 seconds) or webhooks (we POST JSON to your HTTPS endpoint). Polling is simpler and ideal for development; webhooks are the production choice.
Updates carry a per-bot, per-environment update_id sequence. With polling, every update with an id below your offset is confirmed and never returned again. See webhooks vs polling.
4. Privacy mode in groups
When a bot joins a group it runs in privacy mode by default: it only receives messages that mention it, reply to it, or are sent with its keyboard. Turn privacy off per group if the bot genuinely needs every message (for example, a moderation bot). Users can see which mode a bot is in.
5. Blocking, reports, and suspension
Any user can block a bot, which immediately stops its messages in that DM, and can report it from the chat header. Three upheld reports within 30 days suspend the bot automatically: its tokens stop working, its webhooks halt, and it cannot send. Suspension is the platform's immune system. Build bots people want to keep.