Bot type
Moderation that holds when three hundred accounts arrive at once
A Telegram moderation bot enforces posting rules, gates new accounts, throttles floods and escalates actions automatically, with every decision logged. It keeps a large group usable when moderators are asleep. It cannot exercise judgement, and over-tuned rules will silence real members.
Community moderation bots: price, timeline and limits
- Fixed price
- $5,400 USD
- Delivery
- 21 calendar days from kickoff
- Required rights
- Administrator with restrict and ban permissions
- Deletion window
- 48 hours — after that a bot cannot remove a message
- Per-group ceiling
- ~20 messages/minute into a single group
- Ban durability
- A banned user can rejoin under a new account immediately
As of 2025-10-01, Telegram Bot API 13.4
The problem this solves
A community of two hundred can be moderated by attentive humans. At twenty thousand, spread across every time zone, the humans are structurally outnumbered — and the moments that matter most are exactly the ones nobody is awake for. A coordinated spam run at 04:00 local time will be forty minutes old before a moderator sees it, and by then the damage to the room is done.
Off-the-shelf moderation bots handle the easy half: keyword lists, link blocking, captcha on join. What they handle badly is the pattern that actually hurts a crypto community, which is not a single spammer but a coordinated arrival — dozens of accounts created the same week, joining within minutes of each other, posting near-identical messages just different enough to defeat a keyword filter.
Detecting that requires looking at the group rather than at individual messages: account age distribution, join clustering, message similarity across senders, and the rate of change in all three. And it requires an escalation ladder, because the correct response to a first offence from a two-year-old account is not the correct response to the fortieth message from a cohort registered on Tuesday. The build is worth doing when the community is large enough that this pattern is inevitable rather than hypothetical.
How the build runs
New members are restricted, not blocked
A short read-only period scaled to account age. A two-year-old account waits minutes; an account created this morning waits considerably longer. Blocking outright loses real people, and restriction costs a genuine member almost nothing.
chat-member-updatesRate limits apply per user and per cohort
One account posting fast is a person who is excited. Thirty accounts that joined within the same ten minutes posting in unison is a raid, and only the second signal distinguishes them.
chat-member-updatesMessage similarity is compared across senders, not just within one
Coordinated spam varies wording to defeat keyword filters but stays semantically close. Shingle similarity across recent messages from different senders catches what a keyword list never will.
webhookActions escalate rather than jumping to a ban
Warn, mute, temporary ban, permanent ban, with the ladder reset over time. A first offence handled with a permanent ban is how communities lose members to a mistuned regex.
chat-member-updatesModerators can reverse anything in one tap
Every automated action posts to a moderator topic with an Undo button. Automation that a human cannot immediately correct is automation the community will resent within a week.
forum-topicsEvery decision is recorded with its reason
Who, what, which rule, what evidence. Moderation disputes are inevitable in a large community, and an audit trail settles them in seconds rather than becoming an argument about what happened.
webhook
What Telegram will and will not let you do
A bot must be an administrator with restrict and ban rights to moderate a group.
Losing that permission silently disables moderation. The bot verifies its own rights on a schedule and alerts when they change, because discovering it during a raid is too late.
Telegram does not expose an account creation date, only a numerically increasing user id.
Account age is inferred from the id, which is a reliable ordering but an approximate date. Rules are written against relative recency rather than an exact age the API does not provide.
A bot may send roughly 20 messages per minute into a single group.
During a raid the bot cannot announce every action in the group without throttling itself. Actions are taken silently and reported to a separate moderator topic, which is better practice anyway.
Deleting a message is possible for 48 hours; after that a bot cannot remove it.
Retrospective cleanup has a hard window. Anything older survives, which is an argument for catching problems in near-real time rather than relying on a periodic sweep.
A banned user can rejoin under a new account immediately.
Bans deter rather than prevent. The new-account restriction period is what actually raises the cost of returning, which is why the two controls are designed together.
When not to build this
- Your group is under about a thousand members. Human moderators are better, faster and more forgiving, and automation at that size mostly annoys people.
- You want it to enforce subjective quality. It can detect patterns, not judgement, and rules written to catch "low-effort posts" will catch enthusiasm instead.
- You have no moderators at all. Automated actions with nobody to reverse them turn every false positive into a permanent loss.
- Your community is already hostile and you are hoping tooling will fix it. Moderation enforces a norm; it does not create one.
What it runs on
| Component | Version | Why |
|---|---|---|
| grammY | 1.45 | Bot framework, with chat-member and message handlers. |
| Cloudflare Workers | current | Runtime, sized for burst load during a raid. |
| Cloudflare D1 | current | Member state, action ladder, cohort tracking and the audit trail. |
| Cloudflare Durable Objects | current | Per-group rate limiting with consistent counters. |
| TypeScript | 5.9 | Strict mode. The escalation ladder is a state machine and is typed as one. |
Questions people ask before committing
How is this different from the free moderation bots?
Free bots handle keyword filtering and join captchas well. What they generally do not do is look across senders — account age clustering, join timing and cross-message similarity — which is the pattern a coordinated raid actually produces.
Will it ban real members by mistake?
Occasionally, which is why the ladder starts with a warning and every action has a one-tap reversal from a moderator topic. Any system tuned tightly enough to stop raids will have false positives; the design question is how quickly they can be undone.
Can it stop a banned user simply making a new account?
No, and nothing can. What raises the cost is the new-account restriction period, which means a fresh account cannot post immediately. Bans and restrictions work together; either alone is weak.
Does it need to be a group administrator?
Yes, with restrict and ban rights. It checks its own permissions on a schedule and alerts if they are removed, because a moderation bot that has silently lost its rights looks identical to one with nothing to do.
What happens during a raid, exactly?
Cohort rate limits trip, new arrivals are restricted, similar messages across senders are removed, and a single summary posts to the moderator topic rather than an announcement per action — because the bot would otherwise throttle itself on the group message limit.
Can moderators see why an action was taken?
Yes, with the rule, the evidence and the timestamp. Moderation disputes are guaranteed at scale, and an audit trail turns them into a lookup rather than an argument about recollection.