⎯ TL;DR
  • 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.

01 · Protocol layer

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:

# Three main errors any mass campaign will hit FLOOD_WAIT_X # X = seconds to wait PEER_FLOOD # too many messages to new users USER_PRIVACY_RESTRICTED # recipient blocks non-contacts # Example in pyrogram: try: await client.send_message(target, text) except FloodWait as e: # e.value can be 30, 60, 3600, or even 86400 (a day) await asyncio.sleep(e.value) except PeerFlood: # account already in "restricted" state, continuing makes no sense log.warning("account cooked")

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.

02 · Signals

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.

#SignalWhat it meansHow to model it
1message.velocityIntervals 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).
2peer.diversityWho 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.
3content.entropyMessage body hash. Repetitions → flag. Spintax variants → each unique.Spintax + LLM for deep on-the-fly reformulation.
4session.fingerprintdevice_model, app_version, system_version, lang_code. Stability between sessions = normal, sharp drift = suspicion.Fixed device profile for the account's lifetime.
5network.originASN of your IP. Amazon / DigitalOcean / Vultr / OVH ASNs = DC range = suspicion.Residential IPs through ISP providers (Comcast, Deutsche Telekom, Rostelecom etc.).
6behavior.trailLog 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.

«Telegram anti-spam isn't one rule. It's a probabilistic model that decides: are you more likely a bot than a human?» ⎯ internal rule
03 · Cost

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:

$2–10
account (+SIM)
purchased or warmed
$20–50
residential proxy
~2 weeks of pool
$50–150
warmup + setup
human-time equivalent
$100–200
lost ad spend
if mid-campaign
$30–50
rework
setup from scratch

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.

04 · Solutions

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:

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:

One avoided ban = 2-5 months of the tool. The math is transparent.

⎯ download

TG:ON for macOS · Windows · Linux

Desktop app, 160 MB. Runs locally, your keys stay yours. 3-day trial, no credit card.

Download for free
⎯ want to try

3 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 trial
05 · Checklist

5 items that put you at risk

Even if you've built your own stack — run through this list. Typical gaps in home-built solutions:

CheckWhat 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.

⎯ Conclusion

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.