How to Use Rose Bot: Every Command, Module by Module
Rose is the bot most Telegram groups reach for once moderation stops being something one person can do by hand, and most groups use perhaps a tenth of it. They set a welcome message, turn on a link lock, and stop there, which leaves the two features that actually change how a group runs untouched: CAPTCHA at the door and federations across every group you own. This guide covers the whole of it, module by module, with the exact commands and the settings worth changing on day one. Every command below is taken from Rose's own documentation rather than from memory, and where a default matters it is stated. The bot is @MissRose_bot and the reference is missrose.org.
What Rose Is and When You Need It
Rose is a group administration bot. It sits in your group with admin rights and enforces rules you configure: who may join, what may be posted, what happens to people who break the rules, and what new members see when they arrive. It does not grow your group and it does not message anyone for you. It keeps the room in order.
The Point at Which Manual Moderation Fails
A group of fifty people needs no bot. A group of five hundred needs one, because the arithmetic changes: spam arrives while you are asleep, the same three questions get asked every day, and one person cannot watch a chat continuously. The failure is rarely dramatic. It is a slow decline in signal as the people who wanted the conversation stop reading it.
The threshold is not really a member count, it is a message rate. If posts arrive faster than you can read them, you are already past the point where a bot pays for itself, whatever the membership number says.
What Rose Does Well
Three things stand out. Locks stop entire categories of message with one word each. CAPTCHA stops the bulk join traffic that produces most spam before any message is sent. Federations let you ban a person from every group you run with a single command, which is the feature nothing else does as cleanly.
Everything else is competent and conventional: warnings, welcomes, notes, filters, purges, blocklists, antiflood. Useful, but available in several bots. The federation system is the reason people stay with Rose after trying alternatives.
What Rose Does Not Do
It does not bring members, it does not send outbound messages to strangers, and it does not clean up a group that has already filled with the wrong people. Moderation is a filter on what arrives, not a repair for what is already there. Filling a channel with something worth reading is a different job, and Channel Clone is where that one starts. If your group is full of accounts that never read anything, that is a growth problem and no configuration fixes it.
It is also not a defence against a determined individual. Someone who wants back into your group will make another account, and locks, warns and blocklists all treat that as a new person. Federations narrow the gap across your own chats, but the honest position is that moderation raises the cost of nuisance rather than making it impossible.
Setting Rose Up in a New Group
Setup takes about two minutes and there are two ways to get it wrong, both of which produce a bot that appears to be installed and silently does nothing.
Adding the Bot
Add @MissRose_bot to the group as you would any member, then promote it to administrator. It cannot enforce anything as an ordinary member, and this is the first place setups fail: the bot is in the group, it answers, and nothing works, because it was never promoted.
Add it from the group rather than by forwarding an invite to the bot, and check that it appears in the member list before promoting. In groups with join approval enabled, a bot added by a non-admin can sit in the pending queue indefinitely while everyone assumes it is installed.
Permissions That Actually Matter
Delete messages is required for purges, locks, blocklists and antiflood, which is most of the bot. Ban users is required for bans, kicks, mutes, warns and CAPTCHA kicks. Invite users via link is needed for some join handling. Pin messages only matters if you want Rose pinning. Grant the first two at minimum, or half the features fail quietly.
Rose will not let an admin promote someone to a higher permission set than the promoting admin holds, so if you are promoting through the bot and the result looks thin, check what the promoting account can actually grant.
Grant the permissions at the moment you promote rather than intending to come back to it. A bot promoted with no permissions produces exactly the same symptoms as a bot that was never promoted, and the two get diagnosed as each other for an afternoon before anyone opens the admin panel.
Confirming It Works
Run /adminlist. If Rose answers with your admin list, it is installed and can read the chat. Then run /locktypes, which should return a long list. Two commands, ten seconds, and you know the bot is live rather than present.
It is worth doing this again after any change to the admin list, because Telegram does not always tell bots when their own permissions change. A bot that worked yesterday and silently stopped today has usually had a permission removed by someone tidying up.
Configuring by Private Message
Rose supports connecting to a chat from a private conversation, so configuration does not have to happen in front of the group. This is worth using for anything experimental, because a mistyped lock in a busy group is visible to everyone in it.
This also keeps the command history out of the group. Configuration commands and their replies are messages like any other, and a group whose recent history is forty lines of setup reads as unfinished to anyone who joins during it.
Command Basics: How Rose Reads Your Input
Three conventions run through every module. Learn them once and most of the command list becomes predictable.
Targeting a User
Any command that acts on a person accepts a username or a numeric user ID, or you can reply to one of their messages and issue the command with no target. Replying is usually faster and it is the only option when someone has no username, which is common among the accounts you most want to remove.
There is a practical reason to prefer replying beyond convenience. Usernames change and can be released and re-registered by somebody else, so a command typed against a remembered username can act on the wrong person entirely. A reply always points at the account that actually sent the message.
Time Formats
Durations use a number followed by a unit letter: m for minutes, h for hours, d for days, w for weeks. So /tban 3d is a three day ban and /tmute 2h is a two hour mute. The same notation appears inside mode settings, as in /blocklistmode tmute 5d.
There is no combined form, so an hour and a half is written as ninety minutes rather than as an hour plus thirty. Pick the unit that expresses the whole duration and use one number, which also makes the settings easier to read back later.
On and Off Switches
Toggles accept on or off, and also yes, no, true and false. So /welcome on, /welcome yes and /welcome true do the same thing. Running the same command with no argument usually shows the current setting rather than changing it, which makes it safe to check before you change.
Make a habit of running the bare command first when you return to a group you have not configured for a while. Most modules will tell you their current state, and reading it takes a second against the several minutes it takes to work out why the group is behaving unexpectedly.
Silent Variants
Several commands have a silent form beginning with s, such as /swarn and /spurge, which perform the action without leaving a confirmation message in the chat. In a large group this matters more than it sounds: visible moderation invites argument, and quiet moderation does not.
Silent moderation also protects the person on the receiving end, which matters more than it sounds in a group where people know each other. A public warning invites an audience; a quiet one leaves room for the behaviour to change without anyone needing to save face.
Admin Management
Before configuring anything else, get the admin list right, because every other module treats admins as exempt.
Promoting and Demoting
/promote with a username, an ID, or as a reply adds an admin. /demote does the reverse. Rose limits what it grants to what the promoting admin holds, which prevents an admin from creating someone more powerful than themselves.
Promotions through the bot and promotions through Telegram's own interface produce the same result, so there is no need to standardise on one. What does matter is that the person promoting has the permissions they intend to pass on, since the ceiling is inherited rather than assumed.
Seeing Who Is an Admin
/adminlist shows the current admins. Anonymous admins do not appear in it, which is worth knowing before you conclude that someone is missing. If Rose seems to be treating an admin as an ordinary member, run /admincache to force it to refresh its internal list; Telegram does not always announce changes promptly.
The cache is the usual explanation for the strangest behaviour in this module: an admin being warned by the bot, a demoted person still able to run commands, a new admin whose commands are ignored. All three are the same problem and all three are fixed by refreshing.
Anonymous Admins
Telegram lets admins post as the group itself. Rose cannot verify permissions for a message with no identifiable sender, so /anonadmin on tells it to accept anonymous admin commands without that check. It is a convenience with a real trade: anyone who reaches anonymous admin status inherits it.
If you do enable it, keep the anonymous admin list short and review it, because anonymity removes the audit trail as well as the name. A moderation action taken anonymously cannot be traced back to anyone when someone asks who did it and why.
Quieting Permission Errors
When a non-admin uses an admin command, Rose replies with an error. In a large group this becomes its own noise, so /adminerror off makes it ignore them silently. Most busy groups turn this off within a week of turning it on.
Removing People: Bans, Kicks and Mutes
Three actions with three different meanings, and picking the wrong one is the most common moderation mistake.
Ban, Kick and Mute Compared
| Action | Effect | Can they return |
|---|---|---|
| Kick | Removes from the group | Yes, immediately |
| Ban | Removes and blocks rejoining | No, until unbanned |
| Mute | Stays, cannot post | Already there, silent |
Kick is a reset for someone having a bad day. Ban is for people you do not want back. Mute is for someone worth keeping who needs to stop talking for a while, and it is underused because it feels weaker than it is.
There is a fourth option that gets forgotten, which is doing nothing and deleting the message. Not every bad post needs a consequence attached to a person, and a group where every misstep produces a penalty develops a particular kind of silence that is easy to mistake for order.
Temporary Versions
Both ban and mute have timed forms. /tban 3d bans for three days; /tmute 2h mutes for two hours. Temporary actions are the right default for anything short of a spam account, because they do not require anyone to remember to reverse them.
Temporary actions also give you a decision point. When a three day ban expires and the person returns and behaves, the matter is closed with no further work. When they return and repeat, you have a much clearer case for the permanent version than you did the first time.
Choosing Duration
Short penalties that expire on their own beat permanent ones that nobody reviews. A group with a hundred permanent bans accumulated over a year has no idea who most of them are or why, and the list becomes something everyone is afraid to touch.
Write the reason into the command when the option exists. A ban list with reasons can be reviewed by anyone; a ban list of bare usernames can only be reviewed by whoever created it, and only for as long as they remember.
Warnings: The Middle Ground
Warnings sit between saying nothing and removing someone, and they are the module most groups configure once and never look at again.
How the System Works
Each warning is recorded against the user. When the count reaches the limit, Rose applies the configured punishment automatically. The default is a limit of three with a ban at the end, which is a reasonable starting point and a poor finishing one for most groups.
The value of warnings is not the punishment at the end, it is the record in the middle. Three separate admins each dealing with the same person once will each treat it as a first incident unless the count is visible to all of them, which is precisely the situation the module exists to fix.
Issuing and Removing Warnings
/warn with a target or as a reply issues one, optionally with a reason. /dwarn warns and deletes the offending message in one step, which is usually what you actually want. /swarn does it silently. /rmwarn removes the most recent warning and /resetwarn clears all of them for that user.
Prefer the deleting variant as your default. Leaving the offending message in place while warning about it means the content stays up, gets replied to, and generates the argument the warning was supposed to end.
Checking History
/warns shows a user's warning history, which is the command to run before acting rather than after. Someone on their third warning in a year is a different case from someone on their third this week, and the count alone does not tell you which.
Read the reasons and not just the number. Three warnings for three unrelated small things describe a person who is slightly careless; three for the same thing describe someone who has decided the rule does not apply to them, and those two cases deserve different endings.
Configuring the Limit and Mode
/setwarnlimit sets how many warnings trigger the punishment. /setwarnmode sets what that punishment is, and it accepts kick, ban, tban with a time, mute, or tmute with a time. A mode of tmute 1d is a far better default than a permanent ban for a general discussion group.
Match the mode to what the group is for. A support group where people arrive frustrated wants a mute, because the person often has a legitimate problem underneath the tone. A trading or promotion group wants a ban, because the behaviour is usually commercial and will not improve.
Expiring Warnings
/setwarntime makes warnings expire after a period, and /setwarntime off disables expiry. This is the setting almost nobody changes and almost everybody should. Without it, a member who was warned once eighteen months ago is permanently one mistake away from a ban.
Run /warnings at any point to see the current configuration. It takes a second and it is the only way to know what your group is actually enforcing rather than what you think you set.
Welcomes and CAPTCHA
This pair is the door. Configured properly it removes most spam before a single message is posted, and it is the highest return change in the whole bot.
Setting a Welcome
/welcome on enables greetings and /setwelcome sets the text. Variables let you address the person: {first} inserts their first name and {chatname} the group name. /welcome on its own shows the current message, /welcome noformat shows the raw version you can copy and edit, and /resetwelcome restores the default.
Keep it short and make it do one job: tell the new person what the group is for and what to do first. A welcome that lists nine rules is not read by anyone, and the rules command exists for that.
Test it by leaving and rejoining, or by asking someone to. Welcome messages are written by people who already know the group, and the gap between what the author meant and what a stranger reads is only visible from the stranger's side.
Why CAPTCHA Is the Setting That Matters
Every other anti-spam feature reacts to messages that have already been posted. CAPTCHA acts before that, at the join. A bot that cannot pass it never reaches the point of sending anything, so the moderation load never appears.
One requirement: welcome messages must be enabled for CAPTCHA to work. If you turn CAPTCHA on and nothing happens, this is almost always why.
It also changes what the rest of your configuration is for. With the door closed, locks and blocklists stop being a daily workload and become an occasional backstop, which is the difference between moderation as a job and moderation as a setting.
The Four Modes
| Mode | What the user does | Difficulty |
|---|---|---|
| button | Presses a button | Lowest |
| math | Solves simple arithmetic | Low |
| text | Matches text to images in private chat | Medium |
| text2 | Selects individual characters matching images | Highest |
Set it with /captchamode. Button mode stops the crudest automation and almost nothing else; text2 stops far more and costs you some real people who could not be bothered. Most groups belong on button or math, and only a group under active attack needs text2.
Whatever you choose, choose deliberately rather than leaving it and finding out during an attack. Changing mode under pressure means the harder challenge lands on your regular members at the exact moment the group is already unsettled.
Kicking People Who Never Solve It
/captchakick on removes users who do not complete the CAPTCHA, and /captchakicktime sets how long they get, from five minutes to a day, defaulting to five minutes. Without this, unverified accounts accumulate as silent members who inflate the count and do nothing else.
Five minutes is aggressive for real people who join and put their phone down. Something like an hour keeps the clean-out while giving a distracted human time to come back.
Kicked users can rejoin, so this is a cleanup rather than a punishment. That is the right shape: a real person who missed the window comes back and tries again, while automation that cannot pass simply does not return.
Rules at the Door
/captcharules on requires new members to accept the rules as part of verification, which puts the rules in front of them at the only moment they are guaranteed to look. Set the rules text first with the rules command, or you will be asking people to accept a blank page.
Keep the rules short enough to be read in the state people are in at that moment, which is impatient. Five lines that are actually read beat twenty that are scrolled past, and the twenty line version is what everyone writes first.
Customising the Prompt
/setcaptchatext changes the button label and /resetcaptchatext restores the default. Small thing, but a button in the group's own language converts better than a generic one, and the same applies to tone.
Locks: The Blunt Instrument That Works
Locks stop entire categories of message. They are indiscriminate, which is exactly why they are effective, and they never apply to admins.
How to Use Them
/lock with a type blocks that category and /unlock reverses it. /locks shows what is currently active and /locks list gives the full status. /locktypes prints every type available, which is a long list.
Check with the listing command after every change rather than trusting that the lock applied. Lock names are easy to mistype and Rose does not always have a reason to tell you that a type does not exist, so the silent failure is a lock you believe is on.
The Types Worth Knowing
The catalogue covers message kinds and behaviours: url, invitelink, botlink, forward and its variants, sticker and its premium and animated forms, photo, video, videonote, voice, audio, document, gif, album, poll, game, contact, location, button, inline, command, bot, guestbot, anonchannel, reaction, outsidereaction, spoiler, emoji and several emoji subtypes, cjk, cyrillic, rtl, zalgo, phone, email, cashtag, checklist, comment, externalreply, text, and all for everything at once.
Most groups need three: url, invitelink and forward. Those three stop the overwhelming majority of what spam actually looks like on Telegram, and they cost ordinary members almost nothing.
The narrower types earn their place when a specific problem appears. Locking cyrillic or cjk is heavy handed as a default and exactly right when a group is being hit in a script its members do not use, and it is easy to unlock again once the wave passes.
Allowing Exceptions
A blanket url lock also blocks the links you want shared. /allowlist adds exceptions, running it bare shows the current list, /rmallowlist removes an entry and /rmallowlistall clears everything, which is owner only. Lock urls, allow your own domains, and the group keeps its useful links while losing the rest.
Review the allowlist occasionally. Domains get added during one conversation and stay forever, and a list that grew over a year usually contains at least one entry nobody can explain and one that now points somewhere else entirely.
Warning Instead of Deleting
/lockwarns on makes a lock violation issue a warning rather than passing silently. Combined with a sensible warn limit this turns locks from an invisible filter into a graduated response, which people find fairer and argue with less.
It also produces a record. A silent deletion leaves nothing behind, so a person who trips the same lock twenty times looks identical to one who tripped it once, and the difference between those two is the whole basis for acting.
Precedence
Locks take precedence over blocklists. If something is being removed and you cannot find the blocklist entry responsible, check your locks before assuming the bot is misbehaving.
Blocklists and Antiflood
Where locks handle categories, these two handle specifics: particular text, and particular behaviour.
Blocklists
/addblocklist with a trigger and a reason adds an entry, and several can be added at once in parentheses. Phrases need quotation marks and match exactly. /blocklist shows the current list, /rmblocklist removes entries, and /rmblocklistall clears everything as an owner command.
Triggers are case insensitive and do not apply to admins. Always write your own reason: if you leave it blank Rose generates one, and the generated text can expose the trigger itself, which tells the person exactly what to avoid next time.
Keep the list short and specific. Long blocklists built from single common words catch ordinary sentences, and the people who notice are your regular members rather than the spammers, who simply spell it differently the next time.
Blocklist Modes
The mode decides what happens when a trigger fires, and it takes the same actions and time formats as everything else, so /blocklistmode tmute 5d is a five day mute. Deleting the message is the mild end and a permanent ban is the other; for anything short of an obvious spam string the mild end is correct.
Because blocklists match text rather than intent, the mild modes are safer than they look. A deleted message costs a real person one retype; a permanent ban on a matched substring costs you a member and a conversation about whether the bot is broken.
Antiflood
/setflood sets how many consecutive messages trigger action. /setfloodtimer takes a count and a window, as in /setfloodtimer 5 10s, which catches bursts that a plain consecutive count misses. /setfloodmode sets the punishment and accepts kick, ban, tban with a time, mute, and tmute with a time. /flood shows the current settings.
/clearflood on deletes all of the flood messages rather than only the ones over the limit, which is the difference between a chat that looks tidy afterwards and one that keeps the first five posts of every flood forever.
Whichever form you use, the mode matters more than the threshold. A kick for flooding is usually enough, because most flooding is either an accident or a person losing their temper, and both are resolved by the interruption itself.
Choosing Sensible Numbers
Antiflood set too tight punishes enthusiasm. Someone answering three questions in a row is not flooding. A timed setting is almost always better than a consecutive one, because it distinguishes a fast conversation from a script.
Notes and Filters
These two are how a group stops answering the same question forever. They look similar and they are not the same thing.
Notes: Stored Answers You Call
/save with a trigger word and content stores a note, and replying to an attachment with /save and a trigger stores that instead. /get retrieves it, or type #trigger directly. /notes lists everything saved and /clear deletes one. Saving over an existing trigger overwrites it.
Name notes for what someone would ask rather than what you would file them under. A note called setup gets found; a note called onboarding-v2 gets forgotten by everyone except whoever wrote it, which defeats the point of having it.
Private and Admin-Only Notes
/privatenotes on sends notes by direct message with a button instead of posting in the chat, which keeps long answers out of the conversation. Individual notes can override the setting with {private} or {noprivate}, and {admin} restricts a note to admins, which is useful for internal procedure that should not be readable by everyone.
Private delivery is the better default for anything long. A note that runs to several paragraphs pushes the live conversation off the screen every time somebody calls it, and in a busy group that is a real cost paid repeatedly.
Repeating Notes
A note saved with {repeat 6h} posts itself on that interval. This is the right way to keep rules or a pinned offer visible in a fast group, and the wrong way to advertise: a repeating note in a slow group is just your own bot spamming your own members.
Filters: Automatic Replies to Triggers
/filter with a word and a reply responds whenever that word appears. Phrases go in quotation marks and several triggers can share one reply in parentheses. Replying to media with /filter and a word makes the media the response. /stop removes one, /stopall removes everything as an owner command, and /filters lists what is active.
Add filters one at a time and watch how each behaves for a day. Filters interact with ordinary conversation in ways that are difficult to predict from the trigger word alone, and a bad one is far more visible than a missing one.
Narrower Matching
A plain filter fires anywhere in a message, which produces false triggers on common words. prefix: matches only at the start of a message and exact: only when the whole message matches. Reach for these before reaching for a longer trigger word.
Filter Modifiers
{replytag} replies to the original recipient rather than the sender, {user} restricts triggering to non-admins, {admin} to admins only, {allow_bot} lets other bots fire it, and {command} adds the filter to the group's command suggestions, which turns a filter into something discoverable rather than folklore.
Which One to Use
Notes are for answers you send deliberately. Filters are for answers that should appear without anyone acting. A group with fifty filters is unpleasant to talk in, because ordinary sentences keep setting off the bot. A group with fifty notes is a knowledge base. The same discipline applies to what you post, which our guide on Telegram content ideas covers.
A useful test before adding a filter: would you want this reply to appear if the word came up in a normal sentence? If the answer is no, it should be a note, or it should use exact matching, or it should not exist.
Purges and Cleaning
When something gets through, this is how you remove it, and there is one hard limit worth knowing before you rely on any of it.
The Commands
/del as a reply deletes a single message. /purge as a reply deletes that message and everything after it, or takes a number to delete a fixed count. /spurge does the same without a confirmation message. /purgefrom and /purgeto mark the start and end of a range, which is the tool for cutting an argument out of the middle of a conversation.
Announce a large purge or use the silent form, but do not do a big visible one without either. Messages disappearing in bulk with no explanation reads as a technical fault to everyone watching, and the questions that follow cost more than the cleanup saved.
The Two Day Wall
Bots cannot delete messages more than two days old. This is a Telegram restriction, not a Rose one, and no bot works around it. It means cleanup is a same-week job: something noticed a month later has to be removed by hand, one message at a time, by a human admin.
Plan around it rather than discovering it. If something needs removing, remove it now; the difference between acting today and acting on Friday is the difference between one command and an afternoon of manual work.
Service Message Noise
Join and leave notices accumulate into a wall of nothing in an active group, and Rose can clean them automatically along with its own command replies. In a group with steady join traffic this is the single change that most improves how the chat reads.
Purge With Care
A purge from the wrong reply point removes far more than intended and none of it comes back. Use the counted form when you know the number, and the ranged form when you can see both ends. There is no undo anywhere in this module.
Federations: Rose's Real Advantage
This is the feature that justifies choosing Rose over the alternatives, and it is the one most single-group owners never touch because it does nothing for a single group.
What a Federation Is
A federation is a group of chats that share a ban list. Ban someone in the federation and they are banned across every chat in it. For anyone running several communities, or a main group with topic spin-offs, this converts moderation from a per-room job into a per-network one.
It also gives you somewhere to put a decision. Without a federation, a ban is a fact about one room that has to be repeated in every other room by hand, which means in practice it gets repeated in some of them and forgotten in the rest.
How Bans Apply
Rose applies federation bans two ways: actively, banning the user immediately in chats it knows about, and passively, checking the ban list when the user next interacts with a federated group. The practical effect is that a federation ban catches someone even in a chat the bot could not reach at the moment you issued it.
The passive path is the one that makes it reliable. A ban issued while a chat is unreachable is not lost, it simply lands the next time the person turns up, which is exactly when it matters.
Banning and Unbanning
/fban with a username or ID, or as a reply, bans across the federation. /unfban reverses it. Federation admins can issue these from any chat in the federation regardless of whether they are an admin of that particular group, and from a private chat with Rose the command applies to the federation you own.
Who Should Hold Federation Admin
A federation admin can remove a person from every group in the network at once, from anywhere, without being an admin of the group in question. That is a great deal of authority to hand out casually, and the right list is short. Local moderation stays local; federation bans are for people you never want in any of your rooms. If you are running several chats you are also running several accounts, and pricing covers the tooling for that side.
When Not to Federate
If your groups have genuinely different audiences and standards, a shared ban list will feel wrong within a week, because someone unacceptable in one room is fine in another. Federations suit one community spread across several chats, not a portfolio of unrelated ones.
A Working Configuration
Rather than a list of possibilities, here is a configuration that works for an ordinary public group, and what to change as the group grows.
Day One
- Promote Rose with delete and ban permissions, then confirm with
/adminlist. - Set rules, then a short welcome with
/setwelcomeusing{first}. /captcha on, mode button,/captchakick on, kick time an hour,/captcharules on./lock url,/lock invitelink,/lock forward, then allowlist your own domains./setwarnlimit 3,/setwarnmode tmute 1d,/setwarntime 30d.- Antiflood as a timed setting rather than a consecutive count, mode tmute.
- Save three or four notes for the questions you already answer daily.
None of this takes more than a few minutes and the order matters: door first, then locks, then the graduated responses. Configuring warnings before CAPTCHA is the common sequence and it means spending your first week handling arrivals that should never have got in.
What Changes at Scale
As join volume rises, move CAPTCHA from button to math and then to text if you are being targeted. Turn /adminerror off once permission errors become their own noise. Turn on service message cleaning. Start using silent variants so moderation stops being a topic of conversation.
What to Review Monthly
Run /warnings, /locks list, /blocklist and /filters and read them as a stranger would. Configuration drifts: a filter added during one argument fires for a year afterwards, and a lock added during one spam wave quietly blocks something people now need.
Read them in the group's own voice as well as for correctness. Configuration accumulates the personality of whoever was annoyed most recently, and a set of rules assembled from a year of individual irritations rarely describes the group anyone actually wants.
The Mistake Almost Everyone Makes
Configuring reaction and ignoring the door. Blocklists, filters and purges all deal with messages that were already sent, which means the spam already reached your members. CAPTCHA and locks deal with whether it arrives at all. If you only have an hour, spend it on the second pair.
Where a Bot Stops and Growth Starts
Rose is a filter, and a filter improves the ratio of what gets through. It has nothing to say about how much arrives in the first place, which is where most group owners actually get stuck.
A Clean Group Is Not a Growing Group
Perfect moderation on an empty room produces an empty room. The bot cannot bring anyone, and the failure mode is spending weeks tuning locks and warn modes while membership stays flat, because configuration feels like progress and is measurable in a way that growth is not. Our guide on using Telegram for business starts from the other end.
There is a simple check for this. If you have spent more hours this month on bot settings than on getting anyone new to arrive, the settings are not the constraint, and no further tuning will make them one.
Adding Members, and the Limits on It
Adding people directly runs into a separate set of ceilings and errors that have nothing to do with your bot, and they are the reason most growth attempts stall in week one. Our guide to Telegram add member limits maps them, and Member Adder handles the paced version of the same job.
Inviting Rather Than Adding
People who choose to join behave differently from people who were pulled in: they read, they reply, and they stay. Reaching them individually with a reason is slower per person and better per member, which is what Mass DMs is built for and what ProspectPulse feeds on the discovery side.
Keeping the Accounts Alive
Any outreach at volume runs on more than one account, and accounts get restricted when they are pushed. Account Manager keeps a pool inside its limits, and if you meet the restriction first, our guide on the Telegram spam restriction covers getting an account back.
Content as the Quiet Route
A channel that posts something worth reading collects members without any of the above. It is the slowest route and the only one with no ceiling. Our guide on scaling a Telegram channel covers it, and engagement covers keeping the people who arrive.
Frequently Asked Questions
Is Rose bot free?
Rose is free to add to a group and the modules covered here are available to any group that installs it. Add @MissRose_bot, promote it to admin with delete and ban permissions, and everything in this guide works. Custom instances of the bot exist for organisations that want their own branded version, which is a separate arrangement documented on Rose's own site.
What permissions does Rose need?
At minimum, delete messages and ban users. Delete powers purges, locks, blocklists and antiflood; ban powers bans, kicks, mutes, warn punishments and CAPTCHA kicks. Without them the bot is present and answers commands while silently failing to enforce anything, which is the most common setup problem. Run /adminlist after promoting to confirm it can read the chat.
How do I stop spam links in my Telegram group?
Lock the categories rather than chasing individual links: /lock url, /lock invitelink and /lock forward stop the overwhelming majority of Telegram spam, and locks never apply to admins. Add your own domains with /allowlist so useful links still work. Then turn on CAPTCHA, because a link that is never posted needs no deleting at all.
What is a federation in Rose bot?
A federation is a set of chats that share one ban list. A federation ban with /fban removes the person from every chat in the federation, applied immediately where Rose can reach and checked passively when the user next interacts with a federated group. It suits one community spread across several chats. If your groups have genuinely different audiences, a shared ban list will feel wrong quickly.
Why is Rose not deleting old messages?
Bots cannot delete messages more than two days old. This is a Telegram restriction rather than a Rose one and no bot works around it, so purges only reach recent history. Anything older has to be removed by a human admin one message at a time, which is why cleanup is a same-week job.
Which CAPTCHA mode should I use?
Button or math for most groups, since they stop crude automation while costing real people nothing. Text and text2 stop considerably more and also lose some genuine members who cannot be bothered, so they are for groups under active attack. Remember that welcome messages must be enabled for CAPTCHA to work at all, and set /captchakicktime to something like an hour rather than the five minute default.
Moderation Keeps a Group. Growth Fills It.
Rose handles the door. Member Adder, Mass DMs and Account Manager handle everything that has to happen before there is anyone at it.
Try Free Demo