
The first decision when adding reply automation to a Telegram chatroom:
"Bot token, or user account?"
Each comes with a clear trade-off, and getting it wrong costs you either member trust or your account. This post lays out the difference from an operator's perspective and shows how Replyer keeps the natural feel of a user account while a 7-layer safety net cuts the risk.
Why Bot API feels off in a chatroom
Telegram's Bot API is official and fully sanctioned. Token issuance, REST API, clean SDK, it's the easiest path for a developer. But for chatroom reply automation it has a few hard limits.
Limit 1, A 'BOT' badge on every message
Every bot message shows a gray ✓ and a "BOT" label in the member's client. One look and "the operator isn't really replying" is obvious. For coaches, consultants, and community operators that's fatal.
Limit 2, Group permissions differ from regular members
Bots have limited message-read permission (with privacy mode ON, only mentions / commands / replies). The bot literally can't read many of the messages the operator wants to answer. Turning privacy mode OFF lets it read everything, but then the bot pattern stands out even more.
Limit 3, UI / UX differs from a regular user
Bot messages come with "Send Message" buttons, inline keyboards, slash commands, UI elements regular users never have. They don't fit a casual chatroom.
Bottom line: Bot API is great for notifications and lookup bots. It's the wrong tool for reply automation that should feel like the operator personally typing.
User account (MTProto), natural but risky
The alternative is an MTProto client connected to your own account (Telethon, Pyrogram, etc.). Messages appear as if the operator typed them, no BOT badge, no UI difference.
But running plain macros or keyword auto-replies on a user account brings real risk:
- Telegram's ToS explicitly restricts automation on user accounts
- Unusual traffic patterns → higher account-suspension risk
- Constant cadence and identical tone → members spot the bot in five minutes
- Time-blind replies (3 a.m.) → diverges from operator behavior immediately
The value of user-account automation scales directly with how human it looks.
How Replyer fixes it, MTProto + a 7-layer safety net
Replyer connects to your own account via MTProto and turns on seven safety layers by default, all aimed at making the automation pattern itself look human. The pipeline below shows the seven gates each message passes before any reply ships.
Layer 1, Hourly reply cap
Per-agent, per-account cap on replies per hour. People don't fire 30 replies in an hour. A natural ceiling kills bot-grade traffic patterns.
Layer 2, Randomized no-reply probability
A configurable chance to skip a message entirely (e.g., 30% no-reply). Real people don't answer everything. Breaks up the too-consistent reply pattern.
Layer 3, Quiet hours
Replies only fire inside operator-defined active hours (e.g., 09:00–01:00). No 3 a.m. answers, the classic bot tell.
Layer 4, Korean-character ratio gate
Skip when a message's Korean-character ratio falls below a threshold. English spam and off-language messages don't pull the bot into awkward territory.
Layer 5, Variable typing indicator
Typing duration scales with reply length, with 1–6s variance. Mimics human typing-speed variability (60–250 chars/min). No instant answers, a deterministic bot fingerprint.
Layer 6, Message splitting + 0.4–1.0s pauses
Longer replies split at natural breakpoints into 2–3 messages, with 0.4–1.0s pauses between them. Models normal human send cadence, with the occasional "hmm..." filler.
Layer 7, Per-user cooldown
Blocks back-to-back replies to the same person (e.g., max one reply every 5 minutes). Real people don't pile on the same member.
Comparison, Bot API · plain MTProto · Replyer
Three-way capability and risk view first, then the detail table.
Bot API
- BOT badge always visible
- Limited message-read scope
- UI/UX differs from a real member
- Telegram ToS sanctioned
- Good for notifications / lookups
User-account macro
- No BOT badge
- Full message read
- Constant cadence, caught in 5 min
- Time-blind firing, ToS risk
- Pattern itself is the risk
Replyer (MTProto + 7 layers)
- No BOT badge
- Full message read
- 7 safety layers by default
- Hours / caps / cooldown built in
- 11 agent templates + review mode
| Item | Bot API | Plain MTProto macro | Replyer (MTProto + 7 layers) |
|---|---|---|---|
| BOT badge | Yes | No | No |
| Message-read permission | Limited | Full | Full |
| Tone naturalness | Low | Medium | High |
| Automation pattern visibility | Explicit | Instantly visible | Looks human |
| Telegram ToS risk | Low (sanctioned) | Medium–high | Low (layered safety net) |
| Time / keyword controls | DIY | DIY | Built-in |
Who is this for
- ✅ Chatroom operators, any case where members must see the operator personally
- ✅ Coaches, consultants, community managers, roles where a BOT badge breaks trust
- ✅ Multi-room operators, per-agent, per-account safety settings
- ❌ Notification or lookup bots only → Bot API is the right tool
- ❌ Mass commercial outreach → no automation approach is appropriate (ToS will catch you regardless)
Get started
Download Replyer, macOS Apple Silicon · Windows 10/11. MTProto client + 7-layer safety net + 11 agent templates ship in the box. Register your Telegram API credentials on first launch and your group chat has replies in five minutes.
For evaluation, quotes, or a custom agent setup, start anonymously in our info bot, no need to expose your Telegram username.