How to Use Combot: Every Command, Analytics and CAS
Combot and Rose are the two bots most Telegram groups end up choosing between, and the comparison usually gets made on command lists, which is the least interesting difference between them. The real one is that Combot ships with a shared spam database that already knows who the spammers are. When this guide was written that database held 1,232,493 user IDs, checked directly against the public endpoint rather than taken from a marketing page, and any group running Combot is protected by it without configuring anything. This guide covers the whole bot: every command group, the analytics side, the trigger system, the anti-spam network and its public interface, and a configuration that works on day one. Commands come from Combot's own reference at combot.org, and the bot is @combot.
What Combot Is and How It Differs From Rose
Combot is a group management service for Telegram: moderation, analytics, anti-spam, triggers and scheduled posts, driven partly from chat commands and partly from a web dashboard. It has been running long enough to have accumulated the one asset that cannot be copied quickly, which is a very large record of who has spammed Telegram groups before.
The Shape of the Product
Where most moderation bots live entirely inside the chat, Combot splits itself. Day to day enforcement happens through commands in the group, while configuration, analytics and the trigger builder live on the web. That split is the first thing to understand, because a good deal of what Combot can do is not reachable by typing anything into Telegram at all, and people who only ever use commands conclude the bot is thinner than it is.
The web side is also where the difference in feel comes from. Configuring a group by clicking through a settings page is faster than remembering command names, and it is much easier to hand to somebody else. The cost is that the configuration is somewhere your moderators have to log in to see, rather than something they can query from the chat they are standing in.
It has one more practical consequence. Because the settings live outside Telegram, they survive the group in a way chat-configured settings do not: an admin who loses their account does not take the configuration with them, and a new owner inherits something readable rather than a set of commands somebody once typed. For a community that expects to outlive its founder, that is worth more than any individual feature.
What It Has That Rose Does Not
Two things, and they are unequal. The first is analytics: message volume, active users, active hours, growth, and the shape of participation over time, presented as a dashboard rather than a number. The second is CAS, the shared ban list, which is the one that actually changes outcomes. A new member who has spammed elsewhere is removed before they post, because somebody else already met them.
The trigger system is a third candidate and the honest answer is that it is a better version of something Rose also has. Combot's is more capable, with chained actions and randomised responses, and it is built in a web editor rather than typed as a command. Whether that is worth switching for depends on how much of your group's character lives in automatic responses.
Analytics also changes what you argue about. Without numbers, a disagreement about whether the group is doing well is a disagreement about impressions, and the loudest impression wins. With them it becomes a question anybody can check, which shortens the conversation considerably and occasionally proves everyone wrong at once.
What Rose Has That Combot Does Not
Federations, in the specific sense of a ban list you own and control across your own chats. Combot has networked chats and a global ban that works across a network you configure, which covers much of the same ground, but the two systems are organised differently and people who have built their moderation around one find the other awkward.
Rose is also entirely chat-native, which some teams prefer. Everything is a command, nothing requires a browser, and a moderator with a phone has the full toolset. If your admin team is distributed and casual rather than organised, that matters more than any feature comparison suggests.
The chat-native point matters most when things go wrong. During a raid, the admin who is available is whoever happens to have their phone, and a toolset that requires a browser and a login is a toolset that arrives ten minutes late. Weigh that against the analytics honestly rather than assuming the richer feature set wins.
Running Both
Nothing stops you. A common arrangement is Combot for analytics and CAS with a second bot handling the moderation people are used to, and it works, with one caution: two bots acting on the same event produce duplicate deletions, duplicate warnings, and occasionally a race where one bot restores what the other removed. If you run both, give each one a job and turn the overlapping modules off in one of them.
If you do run both, write down which bot owns which job somewhere your admins can see. The confusion is never about the first week, it is about the month when somebody adds a filter to the wrong bot and spends an afternoon working out why it fires twice.
Getting Combot Into a Group
Setup is a few minutes and the failure modes are the same as every other bot: present but not promoted, or promoted without the permissions that matter.
Adding and Promoting
Add @combot to the group, then promote it to administrator. Nothing enforces until it is an admin, and a bot that answers commands while enforcing nothing is the single most common support question for every moderation bot ever written. The bot being able to talk proves it can read the chat, not that it can act on it.
Do the promotion in the same sitting as the invite. Setups that leave it for later are the ones that get discovered a week afterwards, usually because somebody asks why the spam filter never fired.
It is also worth adding the bot yourself rather than delegating it. In groups where new members need approval, a bot invited by somebody without the right permissions can sit in the pending queue while everybody assumes it is installed, and nothing about the group's appearance suggests otherwise.
Checking Its Rights
Combot has a command for exactly this: /cdoctor checks the bot's admin rights and reports what is missing. It is the first thing to run after promoting and the first thing to run when something has quietly stopped working, because permissions get removed by people tidying up the admin list without realising what they are switching off.
Deleting messages and restricting members are the two that matter. Without delete, cleanup and filtering do nothing. Without restrict, bans, mutes and kicks do nothing. Pinning only matters if you want the pin features, and inviting matters for the invite link generator.
Make this part of your routine rather than your troubleshooting. Running it once a month takes a second and catches the case where somebody reorganised the admin list in good faith and quietly removed the permission that half the bot depends on.
The Admin Cache
Telegram does not always tell bots promptly when the admin list changes, so Combot keeps its own copy. /reload refreshes it. If a newly promoted moderator finds their commands ignored, or a demoted one still has power, this is the explanation almost every time and the fix takes a second.
The same cache explains a stranger symptom: the bot warning or restricting an admin. To Combot that person is an ordinary member until the list refreshes, so the exemption that should protect them is not applied. One refresh and the behaviour returns to normal.
The Dashboard
/stat opens the analytics dashboard for the chat you run it in. It is worth doing on day one even with no data, because seeing the empty version tells you what will be collected and therefore what questions you will be able to ask in a month.
Open it again after a week rather than after a month. The first week is when a new group's shape is still being set, and the difference between a chat that found its rhythm and one that never did is usually visible in those seven days rather than in the thirty that follow.
Command Syntax: Three Prefixes and the Silent Trick
Two conventions in this bot are unusual enough to be worth learning before anything else, because they change how moderation feels rather than what it can do.
Three Interchangeable Prefixes
Every command works with a slash, an exclamation mark, or a full stop. /ban, !ban and .ban are the same command. This exists because a slash pops up Telegram's command menu, which is helpful when you are learning and irritating when you are moderating quickly, and the other two prefixes let you skip it.
Pick one and standardise across your admin team. Mixed prefixes in the chat history make it harder to search for what was done, and a moderator reading back through a busy day should not have to try three spellings.
There is a second reason to care. Groups that also run another bot can end up with two bots answering the same slash command, and moving your admin team to a different prefix separates them cleanly without reconfiguring anything.
Silent Variants
Most moderation commands have a silent form made by inserting an s after the prefix: /sban, /smute, /sd. Combot deletes your command and performs the action without announcing anything. In a group of any size this is the better default.
The reason is not secrecy, it is that visible moderation is an invitation. A public ban notice produces a conversation about the ban, which is often longer and more damaging than whatever was removed. A silent one leaves the group looking like nothing happened, which is usually the accurate description.
Silence also protects the moderator. A visible action invites a public reply to the person who took it, and in a group where members know each other that turns a routine decision into a personal one. The quiet version leaves the decision looking like the group's rather than an individual's.
Short Aliases
The frequent commands have one and two letter forms: /b for ban, /m for mute, /k for kick, /w for warn, /n for nuke, /d for delete, /r for reload, /un for unrestrict. During an actual spam wave this matters more than it sounds, because the difference between typing eight characters and three, forty times, is the difference between keeping up and falling behind.
Learn them in the order you use them. Most admins need three: the one for removing a message, the one for muting, and the one for banning. The rest can stay in the reference until the day they are needed.
Targeting and Durations
Commands accept a username or a numeric user ID, or you can reply to a message. Durations follow the same compact notation used across Telegram tooling: /ban @user 30d, /mute @user 2w, /ban @user 10h. Replying is the reliable route, because usernames can be changed and reassigned while a reply always points at the account that actually posted.
Get into the habit of stating the duration explicitly even when you mean a long one. A ban with no duration is a decision nobody will revisit, and the difference between that and a ninety day ban is that the second one comes back to you for review whether you remember it or not.
Restrictions: Ban, Mute, Kick, Warn, Nuke
The core moderation set. Five actions with five different meanings, and choosing between them badly is the most common way a group develops a reputation for being harshly run.
Ban, Mute and Kick
/ban removes the member and blocks them from returning. /mute leaves them in place and stops them posting. /kick removes them and lets them come straight back. All three take an optional duration, so /ban @user 30d, /mute @user 2w and so on, and all three have unrestricted counterparts.
Kick is the underrated one. It interrupts without punishing, which is exactly right for somebody who has lost their temper in an argument, and the person who comes back calmer usually stays. Ban is for people you do not want back, and using it for a bad afternoon costs you a member you would have kept.
Mute is the one to reach for when the person is worth keeping and the moment is not. It leaves them in the room, reading, which means they see the conversation continue without them and usually return to it in a different frame. A ban removes that possibility entirely.
Lifting Restrictions
/unmute lifts a mute, /unban lifts a ban, and /unrestrict or /un removes everything at once. That last one is the command to remember, because a member who has collected a mute and a partial restriction over several months is tedious to untangle one flag at a time.
Check before you lift rather than after. A member asking to be unmuted often has more on their record than the incident they are asking about, and the member info command answers that in one line rather than in an argument.
Warnings
/warn issues a warning and /acquit removes one. Both are always silent, which is a deliberate design choice and a good one: a warning is a note on a record, not an announcement. The person gets told, the group does not get a performance.
Warnings work as a record rather than a punishment, and their value shows up when several moderators handle the same person separately. Without a shared count each of them treats it as a first incident; with one, the third moderator can see the two before them and act accordingly.
The silent design also removes the temptation to warn for the audience. A visible warning is partly a message to everybody else, and moderation aimed at an audience drifts towards performance, which is how groups end up with rules that exist to be enforced in public rather than to make the room better.
Nuke
/nuke or /n bans the user and deletes their messages and reactions in one command. This is the spam response: not a graduated one, but the whole trace removed at once. Knowing what that traffic is made of helps, and our guide on how member lists get built explains where it comes from. It exists because the alternative during a spam wave is a ban followed by a manual cleanup of forty messages, by which time there are eighty.
Reserve it for accounts that are obviously not people. Using nuke on a real member deletes their entire contribution to the group, including the parts nobody objected to, and there is no undo for any of it.
There is a practical test before using it. If you would be comfortable explaining the removal by saying the account was not a person, nuke is right. If the explanation would need any nuance at all, use a ban and clean up selectively instead.
Choosing Durations
Temporary actions that expire on their own beat permanent ones nobody reviews. A group with two hundred permanent bans accumulated over two years cannot tell you who most of them are, and nobody dares clear the list because nobody knows what is in it. A thirty day ban closes itself and either the problem returns or it does not.
Write the reason down where the command allows it. A restriction list with reasons can be reviewed by anybody; a list of bare names can be reviewed only by whoever created it, and only for as long as they remember why.
Message Cleanup
Two commands, one of which does something most bots do not.
Deleting on a Timer
/d schedules deletion rather than deleting immediately, so /d 5m removes the message in five minutes. The use is announcements and answers that should not become permanent furniture: a maintenance notice, a code, a reply to a question that will be irrelevant tomorrow. The chat stays clean without anyone having to come back and tidy it.
/sd is the silent form, which deletes your command as well. Together they let one moderator post something temporary and leave no trace of the machinery that made it temporary.
It works well for anything with a natural expiry: an event link, a temporary access code, a notice about downtime. The message does its job and then removes itself, which keeps the recent history readable rather than layered with things that stopped being true.
Purging a Range
/purge removes everything between two points, which is the tool for cutting an argument out of a conversation without deleting either end of it. Reply to the first message you want gone and the command clears from there.
Use the silent variant or say something afterwards. Twenty messages vanishing with no explanation reads as a technical fault to everyone watching, and the questions that follow take longer than the cleanup saved.
Purge from the visible end rather than the invisible one. A range picked by scrolling back until it looks about right removes more than intended surprisingly often, and there is no undo anywhere in this module.
The Two Day Limit
Telegram does not let bots delete messages older than roughly two days. No bot works around this, Combot included, so anything discovered late has to be removed by a human admin one message at a time. It is the reason cleanup is a same-week job rather than something to batch monthly.
The practical rule is to act on the day. Something removed now costs one command; the same thing removed on Friday costs an afternoon of manual deletion, and by the following week it is simply part of the archive.
Chat Control
These are the commands for changing what the room itself is, usually because something has gone wrong.
Read-Only Mode
/readonly, also /ro or /channelmode, stops ordinary members posting while admins continue. It turns a group into a broadcast channel temporarily, which is what you want during an announcement people will otherwise talk over, or while you sort out a fight that has stopped being about anything.
Set an expectation when you use it. A group that goes silent with no explanation feels broken; the same group with one line saying why and for how long feels managed.
It is also the right tool for a scheduled event, not just an emergency. Turning the room read-only for an announcement and back afterwards produces a readable record of what was said, which a hundred simultaneous reactions would have buried.
Under Attack
/underattack or /ua is the emergency setting for a raid, when hundreds of accounts arrive at once with the specific intention of making the group unusable. It tightens joining and posting sharply for the duration.
Know where this command is before you need it. A raid is fast and looking up the syntax while it happens costs you the first several minutes, which is most of the damage. It is worth reading about once in a quiet week and never using.
Turn it off deliberately once the wave passes. Emergency settings left on quietly become the group's normal, and a community that has been in lockdown for three weeks has usually lost more members to the lockdown than it would have to the raid.
Permanent Pins
/pin pins a message and keeps it pinned; Combot re-pins it if somebody unpins it. That last part is the whole point. In a group with several admins the pinned message drifts, gets replaced, and the rules or the entry link quietly disappear, and this stops that happening by accident.
It also settles a small recurring argument about which message deserves the pin. Once the important one cannot be displaced accidentally, the question becomes deliberate rather than a matter of who posted last.
Ranks
/setrank gives a member a custom title of up to thirty two characters. It is cosmetic and it is not pointless: a visible marker for the people who answer questions gives newcomers somebody to direct things at, and it costs nothing to award.
Use them sparingly enough that they mean something. A group where a third of the members carry a title has invented a hierarchy nobody asked for; a group where four people do has given newcomers four obvious people to ask.
Repairing Odd States
/nokeyboard or /nkb clears a stuck custom keyboard, which is the fix for the strange state where a bot's buttons will not go away. /cdoctor checks the bot's own rights, and /reload refreshes the admin list. These three cover most of the situations where the bot appears to be broken and is actually just out of sync.
When something looks broken, run all three before investigating anything else. The overwhelming majority of reported bot faults in any Telegram group are permissions, a stale admin list, or a stuck interface element, and the three commands take ten seconds together.
Reputation and Levels
Combot keeps a reputation and level score per member. It is optional, it is more useful than it first appears, and it is easy to misuse.
The Commands
/me shows your own reputation and level. /toprep and /bottomrep list the highest and lowest scoring members, both taking a count so /toprep 10 gives ten. /toplvl lists by level. /resetrep clears a member's reputation, and /info or /status shows a member's stats.
Reputation numbers are most useful in aggregate and least useful in isolation. One member's score means very little; the shape of the whole distribution tells you whether the group has a healthy core or a handful of people carrying everybody.
What It Is Actually For
The leaderboard is the least valuable part. The useful part is /bottomrep and /info: before you act on somebody, you can see whether they are a long-standing contributor having a bad day or an account that joined last week and has produced nothing but the message in front of you. Those two people deserve different responses and they look identical without the data.
Reputation is also a reasonable proxy for who your group actually belongs to. The names at the top of the list are the people who would notice if the group changed character, and they are worth asking before it does.
It also gives you a way to notice somebody quietly leaving before they do. A regular whose activity has fallen away over a month is usually about to go, and a message asking how they are is cheap and occasionally works.
Where It Goes Wrong
Making reputation visible and competitive changes behaviour, and not always in the direction you want. Groups that promote the leaderboard tend to get more messages and less conversation, because volume is what the score rewards. Keep it as a moderation tool rather than a game and it stays useful.
The other failure is treating a low score as evidence of a bad member. Plenty of valuable people read everything and post rarely, and a moderation policy that punishes quietness selects for the exact opposite of the group most people want to be in.
Networked Chats
If you run more than one group, this is the section that saves the most work.
Global Actions
/gban bans a user across the network, /gmute mutes across it, and /gkick removes them from all of it. Each has a silent form. One command, every chat, which for anyone running a main group plus topic spin-offs converts moderation from a per-room job into a per-network one.
Use them for the category of person rather than the incident. Somebody who was rude in one room is a local matter; somebody running a scam is a network matter, and keeping that line clear stops global commands becoming the default escalation for ordinary disputes.
Who Should Hold This
Somebody with global commands can remove a person from every room you own, at once, from anywhere. That is a lot of authority and the list of people holding it should be short and deliberate. Local moderation stays local; global actions are for people you never want in any of your rooms.
Agree the standard before you hand it out rather than after. The first disagreement about whether something deserved a global ban is much easier to have in the abstract than about a specific person somebody liked.
Log what is done with them. Not as surveillance, but because a network ban that nobody can explain six months later is impossible to review, and the person on the receiving end will eventually ask somebody who was not there.
When Not to Network
If your groups have genuinely different audiences, a shared ban list will feel wrong within a week, because the person who is unacceptable in one room is a regular in another. Networking suits one community spread across several chats, not a portfolio of unrelated ones.
There is a middle option people forget: network the groups that share an audience and leave the others out. Nothing requires all of your chats to be in one arrangement, and a partial network usually matches reality better than a total one.
Reports and the Whitelist
Two small modules that between them decide how much of the moderation load actually lands on you.
Member Reports
/report lets an ordinary member flag a message for admins, and /sreport does it without announcing. This is the cheapest moderation capacity available, because your members are reading the chat at hours you are not, and most of them will use it if they know it exists.
Tell people about it. A reporting command nobody knows about produces no reports, and the group concludes that nothing is being moderated when in fact nothing is being seen. One line in the welcome or the rules is enough.
Respond to reports visibly enough that people keep making them. A report that vanishes into silence teaches the reporter that it was pointless, and a group where nobody reports anything is a group where the moderators are the only pair of eyes on a room they cannot read continuously.
The Whitelist
/wtl_add adds a member to the whitelist and /wtl_del removes them, both with shorter aliases. Whitelisted members bypass the automatic filtering, which is the answer to the recurring problem of a trusted regular who keeps tripping the link filter because their job involves posting links.
Keep it small and review it. Whitelists grow during moments of irritation and are never trimmed, and a year later the exemption list contains people who left, which is exactly the kind of quiet gap that gets found by somebody who should not have found it.
Prefer fixing the filter to adding an exception. If three regulars keep tripping the same rule, the rule is probably wrong for this group, and an exception list is a way of not noticing that.
Combot Anti-Spam: The Part That Actually Matters
Everything above exists in several bots. This does not, and it is the reason to choose Combot rather than something with a longer command list.
What CAS Is
CAS is a shared ban list. When a spam account is caught in one group running Combot, its Telegram user ID goes onto a central list, and every other group protected by the system rejects it on arrival. You are not relying on your own filters catching a spammer on their first message in your room; you are relying on somebody else having met them already.
The scale is the point. When this article was written the public list held 1,232,493 user IDs, a figure taken by downloading the list directly rather than from any published claim. A spam operation that burns accounts across many groups is exactly the pattern this catches, because burning accounts is what puts them on the list in the first place.
The economics are what make it work. A spam operation is only viable at volume, and volume means the same accounts appearing in many groups, which is precisely the behaviour that gets them listed. A system built on shared observation is well matched to an adversary whose business model requires being observed repeatedly.
How a Group Turns It On
It comes with the bot. A group running Combot is protected without any command, which is unusual for a feature this significant and is the reason many groups benefit from it without knowing it is there. There is nothing to configure and nothing to subscribe to.
Because it is on by default, it is also easy to attribute its work to something else. Groups that switch away from Combot are sometimes surprised by the volume of spam that appears afterwards, having assumed their own filters were doing that job.
What Being Listed Looks Like
A record carries more than a yes or no. Checking a listed account returns the reason codes, an offence count, the actual message text that got them listed, and the timestamp of when they were added. Reading a few of those records is an education in what Telegram spam currently looks like: promotional price lists, adult content bot links, and short investment pitches, mostly posted once from a fresh account.
That detail also makes disputes tractable. If somebody claims they were removed unfairly, the record shows what they posted and when, which is a far better basis for a conversation than a bare ban entry.
Reading current records is also a fast way to keep your own filters relevant. Spam text changes over months, and a blocklist written a year ago is tuned to a campaign that has already finished.
The Limits
CAS knows about accounts that have already been caught. A brand new account on its first offence is invisible to it, so this is a filter on the recycled majority rather than a defence against a targeted attack. It also acts on the account rather than the person, and making another account is not difficult.
Treat it as removing the background noise so your own moderation can be spent on the cases that need judgement. That is a large and underrated benefit and it is not the same as being protected.
Its second limit is jurisdictional. The list describes accounts that spammed Telegram groups, so it says nothing about somebody who is simply difficult, off topic, or unpleasant. Those remain judgement calls and no shared database will make them otherwise.
Using the Anti-Spam List Outside Combot
The list is public and has an interface, which means you can use it even in groups running something else entirely. This section is for anyone maintaining their own tooling.
Checking One Account
A single account is checked over HTTPS by user ID. The response is JSON with a boolean field that tells you whether the query succeeded and a result object when it did. For an account with no record the response comes back with the boolean false and a plain description saying the record was not found, which is worth handling explicitly rather than treating as an error.
The clean shape for calling code is therefore three cases and not two: listed, not listed, and the request itself failed. Collapsing the last two produces a checker that treats every network problem as an all clear, which is the wrong direction to fail in.
Rate yourself sensibly. A live query on every join is fine for a small group and wasteful for a busy one, and the busy case is exactly when you least want to depend on somebody else's server responding quickly.
What a Positive Result Contains
A listed account comes back with a set of numeric reason codes, an offence count, an array holding the offending message text, and the time the record was added. The message text is the useful field for anything semi-automatic: it lets a human confirm in one glance rather than trusting a code they would have to look up.
Store what you saw at the time of the decision rather than re-querying later. Records change, accounts get removed from lists, and a moderation decision that can no longer be explained is one you will be arguing about from memory.
Downloading the Whole List
The full list is available as a plain export, one user ID per line, and it is around thirteen megabytes at current size. For a bot handling steady join traffic, holding a local copy and refreshing it periodically is kinder than a live query per join, and it removes the failure mode where the network is slow at exactly the moment a raid arrives.
One observation from testing rather than from documentation: the export and the live check are not perfectly identical for every entry, since some IDs present in the export returned no record when queried individually. The cause was not investigated here. If your workflow depends on the two agreeing exactly, verify it against your own sample rather than assuming.
Refresh on a schedule that matches your traffic rather than continuously. Daily is generous for most groups, and a stale copy that loads instantly beats a current one that arrives after the spam has already posted.
Where This Fits
If you already run outreach tooling, a check at the point of adding somebody costs nothing and avoids pulling a known spam account into your own group. The same applies in reverse: an account you own that appears on a list is one you should stop using immediately, which our guide on the Telegram spam restriction covers in detail.
There is a defensive use as well. Checking your own account IDs against the list occasionally tells you if something you own has been flagged somewhere you were not watching, which is information you would otherwise get from a customer rather than from a tool.
The Analytics Dashboard
This is the half of Combot that does not live in the chat, and it is the half most groups never open twice.
What It Shows
/stat opens the dashboard for the current chat: message counts over time, how many people are actually active as opposed to merely present, the hours of the day the group is alive, and how membership has moved. It answers the questions a member count cannot.
Look at it after something notable happens rather than only on a schedule. A viral post, an argument, a mention somewhere else: each leaves a shape in the data, and understanding which events actually moved the group is worth more than the weekly average.
The Number That Matters
Active users, not members. A group of twenty thousand with forty people posting is a group of forty with an audience number attached, which is the same arithmetic behind a botted channel, and every decision made on the larger figure will be wrong. Advertisers eventually work this out, and so does anyone considering whether the group is worth their time.
Watch the ratio rather than either number alone. A group whose membership grows while activity stays flat is being filled with people who are not there, which is the signature of the wrong kind of growth and is worth catching early.
There is a second ratio worth watching, which is how many of the active users are the same people every week. A group with forty active users that are forty different people each week is healthier than one with the same forty, even though the number is identical.
Active Hours
The hourly distribution tells you when to post, and it is usually not when you would guess, especially in a group with members across several time zones. Posting an announcement into the quiet part of the day and concluding that nobody cared is a mistake this chart prevents for free. Our guide on the best time to post on Telegram goes into the pattern in more depth.
Time zone spread also tells you whether you need more than one moderator shift. A single peak means one person can cover the group; two peaks twelve hours apart means somebody is always asleep while the room is busy.
Reading Growth Honestly
Joins and leaves together tell a story that joins alone do not. A group adding four hundred people a month and losing three hundred and fifty is doing a great deal of work to stand still, and the interesting question is what happens in the first week that makes people leave. That is usually a welcome problem or an activity problem, not a moderation one.
The first week after joining is where almost all churn happens, so that is where any intervention pays. A welcome that gives people something to do beats one that tells them what not to do, and it is measurable in exactly this chart.
Triggers and Scheduled Posts
Combot's trigger system is the feature its own site leads with, and it is genuinely more capable than the equivalent in most competitors.
What a Trigger Does
A trigger watches for something and responds. The simple version is a keyword and a canned reply, which every bot has. The Combot version chains multiple actions together, randomises between several responses so the group does not feel like it is talking to a vending machine, and lets you build administrative commands of your own.
The randomised responses matter more than they sound. A group that answers the same question with the same sentence for two years feels automated even when a person is answering, and variation is the cheapest way to keep an automatic reply from reading as one.
Where They Are Built
In the web editor rather than by typing a command in the chat. That is slower to reach and much better for anything with more than one step, because a chained action is genuinely hard to express as a single line of chat text and easy to lay out on a page.
Build them with somebody else watching. The trigger that seems obvious to its author is frequently opaque to everybody else, and a second pair of eyes catches the ones that will fire on ordinary conversation before they are live.
Scheduled Announcements
Combot can publish on a schedule, which is how a rules reminder or a recurring notice stays visible in a fast group without anyone remembering to post it. It is also the fastest way to make your own group feel like a spam channel, so the frequency should be set against how quickly the chat actually moves rather than by the calendar.
A useful test: if the scheduled post appears while the previous one is still on screen, it is too frequent. In a slow group that means posting it rarely or not at all, and a pinned message is the better tool.
Vary the wording between runs if the tool allows it. A repeated post with identical text becomes invisible within a fortnight, which is the same mechanism that makes people stop seeing banner advertisements.
The Failure Mode
Triggers accumulate. Each one is added for a good reason during a specific week and none of them are ever removed, and eighteen months later ordinary sentences keep setting off replies nobody remembers configuring. Review them on a schedule, and prefer triggers that match precisely over triggers that match a common word.
Date them when you create them. A trigger with a note about why it exists can be judged a year later; one without becomes permanent by default, because nobody wants to remove something that might still be needed.
Combot or Rose
The comparison people actually want, answered by use case rather than by feature count.
Choose Combot If
You want to know what is happening in your group, not just keep it tidy. You want the shared spam list working from day one without configuring anything. You want triggers with real logic behind them, or scheduled posts. You are comfortable with configuration living on a website.
Also choose it if you are likely to be asked to justify the group to somebody: an advertiser, a partner, or a client. The dashboard answers questions that assertions cannot, and having the numbers ready changes the conversation.
Choose Rose If
You want everything reachable from the chat with no browser involved. You want the specific shape of Rose's federations, with a ban list you create and control across your own chats. You want the CAPTCHA options, which are more configurable, and a moderation surface your admin team can learn without logging into anything. Our full Rose guide covers that side.
And choose it if your moderation is largely reactive and human. Rose's strength is that everything is where the moderator already is, which suits a group whose rules are enforced by judgement rather than by configuration.
The Honest Summary
For a single community that mostly needs to stay clean, either works and the choice is preference. For someone running several groups who wants to see what is happening across them, Combot is the stronger tool because of the dashboard and the spam list together. For an admin team that lives on phones and never opens a laptop, Rose fits better.
Neither of them grows anything, which is the part worth remembering while comparing them.
A Working Configuration
Rather than a menu of possibilities, here is what to actually do, in order, and what changes as the group grows.
Day One
- Add @combot, promote it, then run
/cdoctorand fix whatever it reports missing. - Run
/statonce so you know what is being collected. - Agree one command prefix across the admin team and standardise on the silent variants.
- Tell members about
/report, in the welcome or the pinned rules. - Pin the rules with
/pinso they cannot drift. - Set default durations you will actually use, such as a thirty day ban rather than permanent.
- Leave triggers empty for the first fortnight and see what the group repeats before automating anything.
The last one is the least obvious and the most useful. Triggers written before you know the group are triggers written for the group you imagined, and removing them later is harder than adding them now.
Do these in order and it takes about ten minutes. The temptation is to start with the interesting parts, triggers and analytics, and leave permissions until later, which produces a group that looks configured and enforces nothing.
The First Month
Read the dashboard weekly rather than daily, and pair it with Floqal Analytics if you are tracking anything outside the group as well. Watch the ratio of active users to members, the hourly distribution, and joins against leaves. Add triggers for the three questions that actually recur. Whitelist the two or three regulars who keep tripping filters legitimately.
Write down what you change and why. A month of small adjustments is impossible to reconstruct afterwards, and the question of why a setting is the way it is comes up long after everybody has forgotten.
What Changes at Scale
Bring in networked chats once you have more than one group, and decide who holds the global commands before you need them. Pricing for the tooling on the growth side is on the pricing page. Use /underattack knowingly rather than discovering it during a raid. Move to silent moderation entirely, because at volume every visible action generates its own thread.
Add moderators before you need them rather than during a crisis. A new moderator learning the tools during a raid is a second problem on top of the first, and the people you would want are usually already in the group.
What to Review Monthly
Triggers, the whitelist, scheduled posts, and your own ban list. All four accumulate and none of them prune themselves, and a configuration assembled from a year of individual irritations rarely describes the group anybody currently wants.
Put it in a calendar. Configuration review is the sort of task that is never urgent and is always the explanation for something six months later, and fifteen minutes a month prevents most of it.
The Mistake Almost Everyone Makes
Treating the dashboard as a report card rather than an instrument. The numbers are not there to be proud of, they are there to tell you when something changed, and the most valuable moment to look is the week something feels different but nobody can say what.
Where a Bot Stops and Growth Starts
Combot measures a group and keeps it clean. Neither of those makes it bigger, and the gap between those two facts is where most group owners spend far too long.
A Measured Group Is Not a Growing Group
The dashboard is genuinely useful and it is also the most seductive form of procrastination available to a group owner, because reading numbers feels like work and produces nothing. If your active user count has not moved in two months, no additional chart is going to move it.
A simple check: if you spent more time this month on bot configuration and analytics than on getting anybody new to arrive, the bot is not the constraint and further tuning will not make it one.
Adding Members Has Its Own Ceilings
Pulling people into a group directly runs into a set of limits and error codes that have nothing to do with which moderation bot you run, and they stop most growth attempts in the first week. Our guide to Telegram add member limits maps them, and Member Adder handles the paced version of the same job.
Inviting Beats Adding
People who chose to join read, reply and stay; people who were added tend to mute or leave. Reaching them individually with a reason is slower per person and better per member, which is what Mass DMs is built around, with ProspectPulse finding the people worth reaching in the first place.
Keeping the Accounts Alive
Any outreach at volume runs across several accounts, and accounts get restricted when they are pushed too hard. Account Manager keeps a pool inside its own limits and shows which accounts need to rest, which is the difference between a pool that lasts months and one that lasts weeks.
Content as the Route With No Ceiling
A channel that posts something worth reading collects members without any of the above, and those members arrive pre-qualified. If you need content in place before promoting it, Channel Clone handles the mechanical part, and our guide on scaling a Telegram channel covers the rest.
Frequently Asked Questions
Is Combot free?
Combot can be added to a group and used without payment, and the anti-spam protection is included from the moment the bot is an admin rather than being a paid extra. Add @combot, promote it with delete and restrict rights, and the moderation commands and the analytics dashboard work. Some capabilities are more comfortable to configure through the web dashboard than through chat commands, which is a design choice rather than a paywall.
What is CAS in Combot?
CAS is Combot's shared anti-spam list. When a spam account is caught in one group running Combot its Telegram user ID is added centrally, and every other protected group rejects it on arrival. The public list held 1,232,493 user IDs when this guide was written, measured by downloading it. It catches accounts that have already spammed somewhere else, so it does nothing about a brand new account on its first offence.
How do I check if a Telegram user is CAS banned?
Query the public interface by Telegram user ID over HTTPS. The response is JSON: an unlisted account returns a false status with a description saying no record was found, and a listed one returns reason codes, an offence count, the offending message text and the time the record was added. The whole list can also be downloaded as a plain export of one ID per line, which is the better option for a bot handling steady join traffic.
Combot or Rose, which is better?
They are strong at different things. Combot gives you analytics and a shared spam list working from day one, plus a more capable trigger system, with configuration living on a website. Rose keeps everything inside the chat, has its own federation system for a ban list you own across your chats, and more configurable CAPTCHA. For a single tidy community either works; for several groups you want visibility into, Combot is the stronger tool.
Why is Combot not deleting messages?
Run /cdoctor, which checks the bot's admin rights and reports what is missing; deleting requires the delete permission and restricting requires the restrict permission, and losing either produces a bot that answers commands while enforcing nothing. If the rights look correct, run /reload to refresh the admin list. If the message is more than about two days old, no bot can delete it, because Telegram does not allow it.
What does /nuke do in Combot?
It bans the user and removes their messages and reactions in one command, rather than requiring a ban followed by manual cleanup. It exists for spam accounts during a wave, where the alternative is deleting forty messages by hand while eighty more arrive. Do not use it on real members: it removes their entire contribution to the group including the parts nobody objected to, and none of it can be recovered.
A Bot Keeps the Group. It Does Not Fill It.
Combot tells you what your group is doing and keeps the spam out. Member Adder, Mass DMs and Account Manager handle everything that has to happen before there is anyone in the room.
Try Free Demo