Skip to main content

Moderation App

Automatically filter harmful content, catch spam, and keep your community safe.

note

You can install and manage Root's own Apps on desktop or mobile. Apps from other developers, and Bots, are installed from Root on desktop. Once installed into a community, Apps and Bots can be used on Root desktop and mobile.

What is Moderation?​

Moderation is a community app that helps community owners maintain a healthy environment by automatically removing harmful messages and detecting spam. The app scans messages against built-in slur and profanity lists, custom word filters, and spam detection rules. When a rule is triggered the message is deleted automatically. Disciplinary actions like kicks and bans remain in the hands of human moderators. A full audit log and analytics dashboard give admins visibility into moderation activity.

Moderation uses your language if it is English, Spanish, French, Portuguese, German, Italian, Polish, Turkish, Indonesian, or Dutch. Otherwise it uses English.

How it works​

When a member sends a message in a monitored channel, the app evaluates it against three rules in order: content filter, Rapid Message Limit, then spam detection. The first rule that triggers stops evaluation and the message is deleted. Edited messages are re-checked by the content filter. Every deletion is recorded in the audit log.

Content filter​

The content filter checks messages against word lists. Three categories of words can be filtered independently:

CategoryDescription
SlursA built-in list of slur terms. Enabled by default.
ProfanityA built-in list of profanity terms. Enabled by default.
Custom wordsWords added by admins for the community. Enabled by default.

The filter normalizes text (lowercasing, common letter substitutions) before checking, so variations like "l33t" still match. Admins can also maintain an allowed words list. Words on this list are never filtered, even if they match a rule.

Optionally, the app can warn the member when content is filtered. Admins choose how the warning is delivered in the General tab under Warn members by: a message in the channel, a private notification, or both.

Spam detection​

Spam detection identifies repeated identical messages from the same user. Admins configure a threshold (how many identical messages trigger the rule) and a time window (how far back to look). Detection can be scoped per channel or server-wide.

For example, with a threshold of 3 and a window of 60 minutes, if a user sends the same message four times within an hour, all four copies are deleted. Any later copies in the window are deleted too.

Rapid Message Limit​

The Rapid Message Limit catches members who flood the chat, even when every message is different. Admins set Max Messages (how many messages a member can send) and a Time Window (seconds). Messages over the limit are deleted. The limit counts each member across all channels. Edited messages do not count.

Monitored channels​

The app acts on every text channel it has access to. There is no per-channel selection.

Roles and permissions​

Moderation uses one permission group configured by community owners:

RoleDescription
Moderation AdminsUsers and roles who can access moderation settings and the audit log.

What admins can do​

  • View the dashboard, audit log, and analytics
  • Configure content filter settings and manage word lists
  • Configure spam detection
  • Set analytics data retention
  • Kick, ban, and remove messages from members (each also needs the matching Root permission)
  • Find any member on the Members page

What other members can do​

  • View the dashboard and analytics (read-only)

Dashboard​

The dashboard provides an overview of moderation activity in the last 24 hours. It displays two summary cards (Actions (24h) and Content Filtered), a Monitored Channels panel, and a list of recent activity showing the latest moderation events. Admins can kick, ban, or remove messages from a member in Recent Activity.

Audit log​

The audit log is a searchable, paginated record of every moderation action. Admins can filter by:

  • Username: search for actions targeting a specific member.
  • Action type: All Actions, Delete message, Kick, or Ban.
  • Rule type: All Rules, Content Filter, or Spam Detection.

Each entry shows the time, action taken, target user, rule that triggered it, and the matched term (if applicable). Select an entry to open its details. For a ban, the details also show the Ban length.

Analytics​

The analytics view shows moderation trends over a selectable period (last 24 hours, 7 days, or 30 days). It includes:

  • Summary cards with totals and percentage breakdowns.
  • Actions over time: a stacked bar chart showing daily activity by rule type.
  • Rule breakdown: a horizontal bar chart comparing content filter and spam actions.
  • Top channels: the five most actioned channels.

Kick, ban, or remove messages​

Admins can kick or ban a member, or remove their recent messages, from these places:

  • Recent Activity on the dashboard.
  • A row in the Audit Log. On a phone or in a narrow window, the rows have no buttons. Select the entry to open its details, and use the buttons there.
  • The Members page, which finds any member. See Find any member.

In Recent Activity and the audit log table, the buttons show only an icon.

What you need​

To use an action, you must be in Moderation Admins and also have the matching permission in Root:

ActionRoot permission
KickKick Member
BanCreate Bans
Remove messagesDelete Messages or Channel Full Control

If you are in Moderation Admins, Community Full Control gives all three, and so does being the community owner. Only permissions from your roles count. Access rules on single channels do not change what you can do here. You only see the buttons for the actions you can use. For more about these permissions, see the Permission reference.

Kick a member​

  1. Select Kick next to the member.
  2. If you want, type a reason in Reason (optional). It is saved in the audit log. The member does not see it.
  3. To also delete their recent messages, choose a time in Also remove their messages. The default is Keep their messages. This option only shows if you can remove messages.
  4. Select Kick.

The member is removed from the community. They can rejoin with an invite.

Ban a member​

  1. Select Ban next to the member.
  2. Choose a Ban length: 1 hour, 1 day, 7 days, 30 days, or Permanent. The default is 1 day.
  3. If you want, type a reason in Reason (optional). It is saved in the audit log and in Root's ban list, and the member sees it in their ban notification.
  4. To also delete their recent messages, choose a time in Also remove their messages. This option only shows if you can remove messages.
  5. Select Ban.

The member is removed from the community and cannot rejoin until the ban ends. Root ends a timed ban by itself.

Remove messages​

This deletes a member's messages from a recent time period, in every channel Moderation can see.

  1. Select Remove messages next to the member.
  2. In Remove messages from, choose The last hour, The last 24 hours, or The last 7 days. The default is The last 24 hours.
  3. Select Remove messages.

The removal runs in the background, so you can keep working. In a busy community it can take a few minutes. A panel at the bottom of the screen shows how many channels have been checked and how many messages were removed. To end it early, select Stop. When it finishes, one Remove messages entry is added to the audit log.

Members you can't act on​

Moderation does not kick, ban, or remove messages from:

  • The community owner.
  • Yourself.
  • Other Moderation Admins.

You also can't kick or ban someone who is no longer in the community.

Find any member​

Use the Members page to act on someone who is not in the audit log. Only Moderation Admins see this page.

  1. Select Members in the sidebar.
  2. Type at least 3 letters of a name, or paste a user ID.
  3. Select Kick, Ban, or Remove messages next to the member.

The page shows the first 25 matches. Type more of the name to narrow the list. If you have none of the Root permissions in What you need, the page shows a message instead of the search box.

Configure the content filter​

Admins can manage the content filter from the Content Filter tab in settings.

  1. Open settings and select the Content Filter tab.
  2. Toggle Enable Content Filter to turn filtering on or off.
  3. When enabled, toggle individual categories:
    • Filter Slurs: filter messages matching built-in slur terms.
    • Filter Profanity: filter messages matching built-in profanity terms.
    • Filter Custom Words: filter messages matching your custom word list.
    • Warn Users: tell the member when a message is filtered. How they are told depends on how members are warned.

Manage custom words​

  1. In the Content Filter tab, find the Banned Words section.
  2. Type a word in the input field and select Add.
  3. Select Show Banned Words to view and manage existing words.
  4. Use the search field or category filter to find specific words.
  5. Toggle a word on or off. Custom words also have a delete button to remove them. Words from the built in lists can only be turned off.

Manage allowed words​

  1. In the Content Filter tab, find the Allowed Words section.
  2. Type a word and select Add.
  3. Words on this list are never filtered, even if they match a filter rule.

Configure spam detection​

Admins can manage spam detection from the Spam Control tab in settings.

  1. Open settings and select the Spam Control tab.
  2. Toggle Enable Spam Detection to turn it on or off.
  3. When enabled, configure:
    • Spam Threshold: number of identical messages before the rule triggers (2 to 10).
    • Time Window (minutes): how far back to look (1 to 1,440).
    • Detection Scope: track per channel or server-wide.
    • Warn Users: tell the member when spam is detected. How they are told depends on how members are warned.

Set the Rapid Message Limit​

  1. Open settings and select the Spam Control tab.
  2. Toggle Enable Rapid Message Limit to turn it on or off.
  3. When enabled, configure:
    • Max Messages: how many messages a member can send within the window (2 to 100).
    • Time Window (seconds): the rolling window the limit applies to (1 to 3,600 seconds).
    • Warn Users: tell the member when they hit the limit. How they are told depends on how members are warned.

Set how members are warned​

A warning tells a member that Moderation removed their message. You set warnings up in two places:

  1. Turn warnings on for each rule. Turn on Warn Users for the content filter, spam detection and the Rapid Message Limit. They are off to start with. With Warn Users off, that rule removes messages without warning anyone.
  2. Choose how warnings look. Open settings and select the General tab. The settings under Warnings apply to every rule.
SettingWhat it does
Warn members byMessage in the channel posts the warning where the member posted, so everyone in the channel sees it. This is the default. Private notification sends it only to the member, and reaches them even when they're offline. Both does both.
Warning languageThe language for all warnings. Members and the whole channel read them, so warnings use this one language.
Warning messageYour own wording. Leave it empty to use Moderation's own text.

What members see​

With Moderation's own text, a warning in the channel looks like this:

@Alex, your message was removed for spam.

A private notification looks like this:

Your message was removed
Removed for spam.

The reason depends on the rule that removed the message:

RuleReason in the warning
Content filterviolating content guidelines
Spam detectionspam
Rapid Message Limitexceeding the rate limit

A warning never repeats what the member said, or which word matched. A member is warned at most once every 10 minutes in each channel.

Write your own warning message​

  1. Open settings and select the General tab.
  2. Type your message in Warning message, using these placeholders:
    • {mention} becomes the member's name. You type {mention} exactly like that, and Moderation fills in the right member each time.
    • {reason} becomes the reason from the table above.
  3. Click away from the field to save.

Both placeholders are optional. Write the message in your warning language. It can be up to 300 characters.

For example, this message:

{mention}, your message was removed because it doesn't follow the community's rules. Please review them in #welcome.

shows in the channel as:

@Alex, your message was removed because it doesn't follow the community's rules. Please review them in #welcome.

In a private notification, your message replaces the text under the title, and {mention} becomes the member's username. The title stays Your message was removed.

To go back to Moderation's own text, clear the field.

Configure data retention​

Admins can set how long audit log entries are kept from the General tab in settings.

  1. Open settings and select the General tab.
  2. Set Analytics Retention (days) to the number of days you want (7 to 365). The default is 30.
  3. Entries older than the retention period are automatically deleted during daily cleanup.

Limits​

ItemLimit
Custom word length100 characters
Spam threshold2 to 10
Spam time window1 to 1,440 minutes
Rapid Message Limit max messages2 to 100
Rapid Message Limit time window1 to 3,600 seconds
Analytics retention7 to 365 days
Kick or ban reason500 characters
Warning message300 characters