Warnings and punishments
Warn, time out, kick and ban members with Buddy's warn system, keep a case log in a staff channel, and let trusted roles moderate without Manage Server.
On this page
- Before you start
- Set it up
- Set it up from Discord
- Settings explained
- Commands
- What each action does
- Timeout lengths
- Right-click apps
- Banning someone who already left
- Warning counts and /warns
- Examples
- Troubleshooting
- "You do not have permission to use warn system commands"
- "You can not warn that user. Their highest role is equal to or above your highest role."
- "I can not mute/kick/ban that user"
- Mute roles aren't added or removed
- Nothing shows up in the warn log channel
- "Unable to send DM messages to …"
- /removewarn says "I do not have permissions to manage messages in this server."
- Related
Buddy's warn system gives your moderators one set of commands for every punishment: warnings, timeouts (mutes), kicks and bans. Every action gets a case number, the member is told why by DM, and a copy goes to your warn log channel, so your team always has a record of who did what.
Before you start#
Role hierarchy matters. Discord only lets Buddy act on members whose highest role is below Buddy's highest role. Drag Buddy's role above your member and staff roles in Server Settings → Roles. The same rule applies to your moderators: they can only act on members whose highest role is below their own (the server owner is the exception).
Buddy also refuses to act on:
- yourself,
- the server owner,
- Buddy itself,
- anyone with the Administrator permission.
Set it up#
It's under Moderation in the sidebar.
In Warning log, choose a staff-only Warn log channel and click Save warn settings. Every warning, mute, kick, ban and unban is posted here with its case number.
In Mute roles, pick a role and click Add mute role. Buddy gives these roles when it mutes someone and removes them on /unmute. Skip this if Discord's timeout is enough for you.
In Warn access roles, pick a role and click Add warn access role. Members with that role can use the warn commands without having Manage Server.
In Discord, run /warn on a test account. You should see the case appear in your warn log channel.
The warn commands are set to Manage Server by default, so Discord hides them from everyone
else. After adding a warn access role, go to Server Settings → Integrations → Discord Buddy
and allow that role to use the commands you want them to have (for example /warn, /mute,
/warns). Otherwise they won't see the commands at all.
Set it up from Discord#
Run /setup feature:Warn System (or /setup → Moderation & safety → Edit next to Warn
system). Pick the Warn log channel, the Staff roles who can use the warn commands (up to
10) and the Mute roles given while muted (up to 5). Buddy won't save a mute role it can't give
out, such as one above its own role or one with Administrator, Manage Server or Manage Roles.
Settings explained#
| Setting | What it does | Default |
|---|---|---|
| Warn log channel | Where Buddy posts a case embed for every warning, mute, unmute, kick, ban and unban. Also gets a note when Buddy couldn't DM the member. | None |
| Mute roles | Roles added when a member is muted with Buddy (including spam alert auto-mutes) and removed with /unmute. | None |
| Warn access roles | Roles that can use every warn command, even without Manage Server. Members with Manage Server or Administrator can always use them. | None |
Commands#
/ban <user> <reason> <delete> Manage ServerBan a user from the discord server.
/kick <user> <reason> Manage ServerKick a user from the discord server.
/mute <user> <reason> <timeout> Manage ServerMute a user when they need silenced on the server.
Right-click a message → Apps → Mute Message User Manage ServerRight-click a message → Apps → Mute Message User
Right-click a member → Apps → Mute User Manage ServerRight-click a member → Apps → Mute User
/removewarn <warnid> Manage ServerRemove a warning from system.
/unban <user> <reason> Manage ServerUnBan a user from the discord server.
/unmute <user> <reason> Manage ServerUnMute a user when they are free to chat on the server.
/warn <user> <reason> Manage ServerWarn a user for doing something they should not have been doing.
Right-click a message → Apps → Warn Message User Manage ServerRight-click a message → Apps → Warn Message User
Right-click a member → Apps → Warn User Manage ServerRight-click a member → Apps → Warn User
/warns [user] EveryoneDisplay warnings, mutes, and bans on the server or per user.
All of these work for members with Manage Server, Administrator or one of your Warn access roles. Buddy's confirmations are only visible to the moderator who ran the command.
What each action does#
| Action | What happens |
|---|---|
| Warn | Adds a warning, DMs the member the reason and their warning count, and logs the case. |
| Mute | Puts the member in Discord timeout, adds your mute roles, DMs them and logs the case. |
| Unmute | Removes the timeout and your mute roles, DMs the member and logs the case. |
| Kick | DMs the member first, then kicks them and logs the case. |
| Ban | DMs the member first, bans them (optionally deleting recent messages) and logs the case. Works by user ID for people who already left. |
| Unban | Unbans the user by ID and removes them from Buddy's auto-ban list. |
| Remove warn | Marks a case as removed and deletes its message from the warn log channel. |
Timeout lengths#
/mute and the Mute User apps take a length like 30m, 2h, 3d or 1w. A plain number
means minutes. The shortest timeout is 1 minute and the longest is 28 days (40320 minutes,
Discord's limit). Anything outside that range is rejected.
Right-click apps#
You don't have to type a command. Right-click a member (or one of their messages) and choose Apps:
- Warn User / Warn Message User open a form asking for the reason.
- Mute User / Mute Message User open a form with the reason and a timeout length (starts at
1m).
The app versions follow the same rules as /warn and /mute, and share their command roles.
Banning someone who already left#
/ban accepts a user ID for people who aren't in the server any more. Buddy bans the ID and
adds it to its auto-ban list, so if that account joins again Buddy bans it straight away.
/unban clears the auto-ban entry too, even if Discord had no ban on record.
Warning counts and /warns#
The "Total Warnings" number counts only warnings, not mutes, kicks or bans. Removed warnings stop
counting. /warns shows the 25 most recent cases (for one member, or the whole server when you
leave user empty), including removed ones, which show the type removed.
If someone bans a member with Discord's own ban button, Buddy still adds a Ban case with the
reason unknown and posts it to the warn log. With View Audit Log, it also records which
moderator did it.
Examples#
Warn a member for spamming:
/warn user:@Alex reason:Spamming memes in #general after being asked to stopTime someone out for two hours:
/mute user:@Alex reason:Arguing with staff timeout:2hWhat the member gets by DM:
You were issued the following warning on Cozy Gamers:
Spamming memes in #general after being asked to stopYou have 2 warnings!
What your staff see in the warn log channel:
The reason is what the member reads and what your team sees months later. "Spam" is vague; "Posted the same invite link in 4 channels" is useful.
Troubleshooting#
"You do not have permission to use warn system commands"#
The moderator needs Manage Server, Administrator or one of your Warn access roles. If you just added the role, also allow it under Server Settings → Integrations → Discord Buddy.
"You can not warn that user. Their highest role is equal to or above your highest role."#
Moderators can only act on members ranked below them. Move the moderator's role higher, or have someone more senior handle it.
"I can not mute/kick/ban that user"#
Buddy's own role is below the member's highest role, or Buddy is missing the permission (Moderate Members, Kick Members or Ban Members). Drag Buddy's role higher in Server Settings → Roles.
Mute roles aren't added or removed#
Buddy needs Manage Roles, and its role must be above each mute role. Mute roles stay on until
you run /unmute. They are not removed automatically when the Discord timeout runs out.
Nothing shows up in the warn log channel#
Check a Warn log channel is saved and that Buddy can View Channel, Send Messages and Embed Links there. Problems Buddy hits are also listed under Bot errors on your dashboard home page.
"Unable to send DM messages to …"#
The member has DMs from server members turned off, or has blocked Buddy. The action still happened; Buddy just couldn't tell them. Reach out another way if they need to know.
/removewarn says "I do not have permissions to manage messages in this server."#
/removewarn needs Buddy to have Manage Messages, because it deletes the case message from
your warn log channel.