⎯ TL;DR
  • The 2022 standard advice — "buy proxies, write unique text" — no longer works in 2026. SpamBot went through 3 generations of upgrades.
  • What works today — 3 layers: behavioral warmup (not time), Spintax+LLM on content, human-like cadence on send.
  • Do only 1 of 3 — minimal result. 2 of 3 — miss 30-50% of risk. All 3 — flying below radar.
  • In TG:ON, the whole stack is three checkboxes in the UI. Building it yourself — 60-90 hours of dev work.

Honest secret rarely mentioned in media-buying courses: Telegram's SpamBot doesn't stand still. Over 4 years it went through at least three major refactors. What worked in 2022 gave 50% ban rate in 2023, 80% in 2024, and in 2026 means almost guaranteed ban within 48 hours.

Three key shifts:

The 2026 working methodology consists of three independent layers, each addressing its own defense vector.

01 · Warmup layer

Step 1: Warmup through behavior (not time)

Classic advice: "buy an account, let it sit for 14 days, then start". That worked against SpamBot v2, when decisions were made on age-based metrics. Today it's a waste of time.

New mechanics: Telegram measures account "trust" by accumulated behavioral history. An account that's been empty for 30 days and then starts mass-sending is a red flag. An account that was actively used for 3 days (feed scroll, reading, reactions, occasional messages to contacts) — already "trusted", even if age is lower.

What counts as behavioral activity

ActionFrequency for real userSignal
Open app + session start5-15/dayBaseline engagement
Scroll chat list10-30/sessionBrowsing activity
Open message5-20/sessionReading
React to message1-5/dayEngagement depth
Send message to contact2-10/dayNormal usage
Receive + reply0-5/dayReal conversation

Warmup scheme: over 3-5 days you emulate real activity at these frequencies, at different hours, in realistic sessions (15-45 minutes each). Telegram "sees" a normal user.

Key change: 3 days of behavioral warmup > 14 days of "passive sitting". Less time, better result.

02 · Content layer

Step 2: Spintax + LLM on send

Detailed mechanics — in the conversion article. Short version:

Why it works against SpamBot: it searches for repetition at the hash level. When every message is unique and contains relevant context — the bot can't cluster them as "mass outreach".

«Spintax+LLM don't make your text "better". They make it "not identical to everyone else's". Those two things are different.»
03 · Cadence layer

Step 3: Human-like rate limiting

Third layer — the sending rhythm. Not "how often", but "with what distribution".

Typical mistake: 100 messages exactly at 60-second intervals. Another: 100 messages by random.uniform(30, 90). Both are bot patterns SpamBot learned to detect.

Correct distribution — log-normal, with parameters:

import numpy as np def human_delay(): # Median ~90s, rare long pauses up to 10 min delay = np.random.lognormal(mean=np.log(90), sigma=0.7) return min(max(delay, 15), 600) # clamp 15s..10min # Plus — every ~8-12 messages — a long "lunch" pause if msg_num % rand(8, 12) == 0: sleep(rand(600, 1800)) # 10-30 min

Plus — typing indicator for 1-4 seconds before sending (shows "typing..." to the recipient). Small detail, but plays double duty: affects the recipient's perception AND Telegram's behavioral signal.

Time-of-day distribution

A real user doesn't send 100 messages in a row at 14:00. They spread them across 3-4 active windows throughout the day: morning (9-11), lunch (13-14), evening (18-21). Your outreach should follow this pattern.

04 · Integration

How these 3 layers work together

Important: each layer is necessary but insufficient. Without any single component, the whole stack fails.

~85%
ban · warmup only
+ template + burst
~60%
ban · + spintax
2 of 3 layers
~15%
ban · + cadence
all 3 layers
<3%
ban · + proxy
4 layers (full stack)

Proxy (residential IPs) is the fourth hidden layer I didn't put in the headline. It solves network-level detection. Without it, three layers still work but worse.

05 · Implementation

How it assembles in TG:ON

In the UI — three settings panels:

  1. Accounts → Warmup profile. Choose "3 days / 5 days / 7 days", service does the activity itself. Configure which hours and which actions (reactions, reading).
  2. Campaign → Content. Template with spintax (editor with live preview). LLM rewriting (connect your API or use built-in).
  3. Campaign → Schedule. "Conservative / Balanced / Aggressive" cadence. Sending schedule by day and hour.

Everything launches → the service does the rest. If an account catches FLOOD_WAIT — automatic pause. If PEER_FLOOD — exclusion from the campaign until human review.

⎯ 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
⎯ try the method

3 layers. 3 checkboxes.
3-day trial.

Warmup + Spintax+LLM + Cadence — set up in 15 minutes. Run a campaign on 500-1000 messages and see the real bounce rate.

Start trial