Moderation & safety

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.

Open in dashboard Updated Oct 21, 2026
On this page

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#

Permissions needed

Buddy's own role needs these server permissions for the actions you plan to use:

  • Moderate Members (shown as Timeout Members in Discord) for /mute and /unmute
  • Kick Members for /kick
  • Ban Members for /ban, /unban and the auto-ban of returning members
  • Manage Roles if you use mute roles
  • Manage Messages for /removewarn

In your warn log channel it needs View Channel, Send Messages and Embed Links.

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#

Open Warn system in your dashboard

It's under Moderation in the sidebar.

Pick a warn log channel

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.

Add mute roles (optional)

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.

Let trusted roles moderate (optional)

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.

Try it

In Discord, run /warn on a test account. You should see the case appear in your warn log channel.

Open warn system settings

Warn access roles also need Discord's permission

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#

SettingWhat it doesDefault
Warn log channelWhere 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 rolesRoles added when a member is muted with Buddy (including spam alert auto-mutes) and removed with /unmute.None
Warn access rolesRoles 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 Server

Ban a user from the discord server.

  • user user — User tag or id you would like to ban.
  • reason text — Reason for ban.
  • delete text — Delete User's Message History (Don't Delete Any, Previous Hour, Previous 6 Hours, Previous 12 Hours, Previous 24 Hours, Previous 3 Days, Previous 7 Days)
/kick <user> <reason> Manage Server

Kick a user from the discord server.

  • user user — User tag or id you would like to kick.
  • reason text — Reason for kick.
/mute <user> <reason> <timeout> Manage Server

Mute a user when they need silenced on the server.

  • user user — User you would like to mute and reason for mute.
  • reason text — Reason for mute.
  • timeout text — Timeout length. 1m/1h/1d/1w
Right-click a message → Apps → Mute Message User Manage Server

Right-click a message → Apps → Mute Message User

Right-click a member → Apps → Mute User Manage Server

Right-click a member → Apps → Mute User

/removewarn <warnid> Manage Server

Remove a warning from system.

  • warnid number — Warning ID you would like to remove.
/unban <user> <reason> Manage Server

UnBan a user from the discord server.

  • user text — User id you would like to unban.
  • reason text — Reason for unban.
/unmute <user> <reason> Manage Server

UnMute a user when they are free to chat on the server.

  • user user — User you would like to unmute and reason for unmute.
  • reason text — Reason for mute.
/warn <user> <reason> Manage Server

Warn a user for doing something they should not have been doing.

  • user user — User you would like to warn.
  • reason text — Reason for warn.
Right-click a message → Apps → Warn Message User Manage Server

Right-click a message → Apps → Warn Message User

Right-click a member → Apps → Warn User Manage Server

Right-click a member → Apps → Warn User

/warns [user] Everyone

Display warnings, mutes, and bans on the server or per user.

  • user user, optional — User id or tag you would like display warns for.

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#

ActionWhat happens
WarnAdds a warning, DMs the member the reason and their warning count, and logs the case.
MutePuts the member in Discord timeout, adds your mute roles, DMs them and logs the case.
UnmuteRemoves the timeout and your mute roles, DMs the member and logs the case.
KickDMs the member first, then kicks them and logs the case.
BanDMs the member first, bans them (optionally deleting recent messages) and logs the case. Works by user ID for people who already left.
UnbanUnbans the user by ID and removes them from Buddy's auto-ban list.
Remove warnMarks 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.

Bans made outside Buddy are logged too

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 stop

Time someone out for two hours:

/mute user:@Alex reason:Arguing with staff timeout:2h

What the member gets by DM:

Discord Buddy APP Today at 4:20 PM

You were issued the following warning on Cozy Gamers:

Spamming memes in #general after being asked to stop

You have 2 warnings!

What your staff see in the warn log channel:

Discord Buddy APP Today at 4:20 PM
warn | case 42
Offender
@Alex
Responsible Moderator
@SamTheMod
Total Warnings
2
Reason
Spamming memes in #general after being asked to stop
Give each case a clear reason

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.

Loading…