- Telegram bans you not for text, but for network and behavioral patterns — which are smarter today than in 2022.
- SpamBot reads at least 6 signals: message velocity, proxy ASN, device-fingerprint stability, peer diversity, content hash, behavior trail.
- The classic "warm up for 2 weeks" advice doesn't help in 2026 — you need behavioral activity, not passive waiting.
- Cost of one ban = $200-500. Tooling pays for itself after the first saved account.
- Two paths: build the stack yourself (residential proxies + smart rate-limiter + TDLib customization) or use a ready-made solution. Math and time cost differ.
If you've ever launched a mass outreach campaign on Telegram and got back-to-back bans on your account farm — you're not alone, and you're not doing "something uniquely wrong". Telegram's anti-spam system went through several generations since 2022, and advice from courses like "keep the account for 14 days, set an avatar" became outdated as early as 2023.
The goal of this guide is to break down what actually happens at the protocol and signal level when you hit "send" in mass mode. No marketing, no "buy our SaaS and everything will be fine". Just the fundamentals — enough for you to either stop losing accounts or realize that building your own solution is more expensive than buying one.
How Telegram technically limits mass actions
Telegram runs on the MTProto protocol. It's fully documented, and abuse protection is baked into the protocol itself. When you send messages "too fast" or "to too many", you get specific API errors:
FLOOD_WAIT is a soft protection Telegram applies to all users (including you right now when messaging a friend quickly). If you see FLOOD_WAIT_30 — it's not a ban yet, just wait.
PEER_FLOOD is more serious. This is a specific restriction on mass-messaging new users. Its algorithm looks at the ratio "messages to new contacts / messages in existing dialogs". If you write to 100 new people in a row without a single reply — you catch PEER_FLOOD very quickly.
After PEER_FLOOD, the account enters restricted state — can only message existing dialogs and contacts. It's not a ban yet, but the account is commercially "dead" for outreach.
Key understanding: FLOOD_WAIT and PEER_FLOOD are not bans. They are rate limits. A real ban comes through @SpamBot and looks like "Your account was blocked for spam".
@SpamBot — asymmetric reports from users
When your message recipient clicks Report Spam, their report goes to @SpamBot. When N reports accumulate in a short time window (exact N isn't public; empirically 3 to 7 over 1-3 days, depending on the account's "trust"), the account gets banned. And Telegram doesn't always state the reason — sometimes just "permanent restriction".
An important nuance: Premium recipients report more effectively. Telegram gives higher weight to a report from a Premium user because they have less incentive to "troll". So if you spam Premium audiences with templated text — you're doubling your risk.
6 signals SpamBot reads during review
This is what actually matters — and what courses and public guides usually skip. Telegram publicly discloses two mechanisms (rate-limit and @SpamBot). Other signals are inferred through reverse engineering — observing at which patterns accounts fly out fastest.
| # | Signal | What it means | How to model it |
|---|---|---|---|
| 1 | message.velocity | Intervals between actions. Real user: log-normal distribution (short bursts + long pauses). Bot: near-uniform. | Delay distribution from a trained model, not random.uniform(1, 3). |
| 2 | peer.diversity | Who you write to. Real: 5-10 different contacts per day with varying length. Bot: 100+ strangers, same length. | Parallel channels: existing contacts + new ones, diluted. |
| 3 | content.entropy | Message body hash. Repetitions → flag. Spintax variants → each unique. | Spintax + LLM for deep on-the-fly reformulation. |
| 4 | session.fingerprint | device_model, app_version, system_version, lang_code. Stability between sessions = normal, sharp drift = suspicion. | Fixed device profile for the account's lifetime. |
| 5 | network.origin | ASN of your IP. Amazon / DigitalOcean / Vultr / OVH ASNs = DC range = suspicion. | Residential IPs through ISP providers (Comcast, Deutsche Telekom, Rostelecom etc.). |
| 6 | behavior.trail | Log in and immediately send = bot. Real user scrolls feed, reads, reacts. | Simulate passive activity between sending sessions. |
The strength of Telegram's defense is that no single signal alone triggers a ban. You need 2-3 matches to trigger review. This is why "I only sent 50 messages and got banned" and "my friend sent 2000 and is fine" can both be true. The first likely had DC-proxy + stable device + zero activity = red flag trifecta.
What one ban costs
Now let's count. The average cost of one banned account for an active media buyer consists of the following components:
Total: $200–500 per ban. The range depends on when the ban hit — right after warmup you only lose warmup and proxy cost; mid-campaign you add ad spend and rework.
An active media buyer losing 2-3 accounts per week (typical for someone who hasn't invested in anti-ban infrastructure) burns $1,600 – 6,000/month — not in conversion percentage points. In direct unrecoverable losses.
Hidden cost line — time. If you pay yourself or your team $30/hour and spend 3 hours setting up a new account after a ban, 10 bans per month = 30 hours = $900 just on "fixes" that could have been avoided.
Two paths: build it yourself or buy ready-made
Path A: Build your own stack
If you or your team are developers, and you have specific requirements a ready-made product doesn't cover, this is a reasonable path. The minimum stack looks like this:
- Proxy provider: Bright Data, Oxylabs, Soax. Budget for residential IPs — $30-100/month for low volume, $500+/month for serious.
- Rate limiter: custom Python + Redis. You need to model log-normal distribution of delays, not just
sleep(random.randint(2,5)). Dev time: 15-25 hours. - MTProto client: TDLib (C++, official, maximally flexible) or pyrogram / telethon (Python, faster to develop). Device fingerprint customization — another 10-15 hours.
- Warmup scheduler: simulation of passive activity. Scroll, read, reactions. Dev time: 20-30 hours.
- Spintax + LLM integration: OpenAI API or local Llama for reformulation. 10-15 hours.
- Ongoing: Telegram changes its API 2-4 times per year, you need to keep the stack current. ~5 hours/month maintenance.
Total: 60-90 hours to MVP + $30-100/month on proxies. At a developer rate of $30-50/hour — $1,800-4,500 to start. Pays off if you have large volume and specific needs.
Path B: Ready-made tool
For most operators, building your own doesn't make sense time-wise. Ready solutions on the market (Forward, TGCRM, TeleSender and similar) cover part of the task — usually rate-limiter + spintax. What they more often don't cover: behavioral warmup, session fingerprinting, proxy rotation by ASN, AI personalization of content.
TG:ON does the entire stack. For $89/month (Pro tier) you get:
- Residential proxy pool with ASN rotation
- Smart rate-limiter on log-normal distribution (not uniform)
- Session fingerprint stability per-account
- Spintax + LLM message rewriting
- Behavioral warmup (scroll/reactions/reading) before sending
- 4.8M+ groups index for audience scraping
- AI agents (Qualifier + Closer) for incoming leads
- Live Inbox — unified CRM for the whole account farm
One avoided ban = 2-5 months of the tool. The math is transparent.
TG:ON for macOS · Windows · Linux
Desktop app, 160 MB. Runs locally, your keys stay yours. 3-day trial, no credit card.
Download for free3 days of full access.
No card. No limits.
Pro tier: 25 accounts, all modules included, access to 4.8M+ group index. One-click cancel if not useful.
Start trial5 items that put you at risk
Even if you've built your own stack — run through this list. Typical gaps in home-built solutions:
| Check | What breaks if not addressed |
|---|---|
| Using DC proxies (AWS/DO/Vultr)? | ASN in DC range = priority scan by SpamBot. Move to residential (Bright Data, Oxylabs). |
| Rate-limit on uniform random? | random.uniform(2, 5) is detectable in 10 minutes. You need a distribution with entropy. |
Same device_model? | 100 accounts with "Samsung Galaxy S21" = farm pattern. Diversify across real population. |
| Account goes straight to sending after activation? | Fresh account + burst = almost guaranteed PEER_FLOOD within 48 hours. |
| Same text for everyone? | Telegram hashes message body. 50 identical = instant flag. |
If you've closed all 5 — you're already in the top 10% for mass messaging hygiene. You'll lose more accounts to organic causes (offer complaints, privacy restrictions) than to anti-spam.
The other 4 ban causes (reports, recipient privacy settings, keyword filters, geo mismatch) are beyond the network layer. There, offer quality, targeting, and text quality play.
Anti-ban is not magic, it's engineering
In 2022, "getting around SpamBot" meant buying a normal proxy and writing unique text. In 2026, it means modeling 6 behavioral signals simultaneously at the network, protocol, and content levels.
Good news: all of this is solvable. Bad news: if you do mass messaging on a homegrown stack without anti-ban engineering, SpamBot will find you. It's a matter of weeks, not months.
Choose consciously: either build the stack yourself (60-90 hours + $30-100/month) and maintain it, or take a ready solution for $49-169/month. But don't pay SpamBot $300-500 for every lazy launch.