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.

SprinTelex's human chats are private by design. Any attempt to exfiltrate E2EE content, de-anonymize users, or evade suspension with a second bot is a terms violation and ends the developer account.