Permissions & roles
What permissions Buddy needs for each feature, how role order affects what it can do, which roles it won't hand out, and how to check and fix its access.
On this page
- How Buddy's permissions work
- What Buddy needs for each feature
- Role hierarchy
- Roles Buddy won't hand out
- Who can use Buddy's commands
- Check Buddy's permissions
- Troubleshooting
- "Buddy is missing a permission"
- Buddy has Manage Roles but still can't give a role
- "I can not mute that user."
- Everything works except in one channel
- Related
Buddy is a member of your server like anyone else, and Discord's permission rules apply to it. When a welcome message doesn't post or a role isn't given, the cause is almost always one of three things: Buddy's role is missing a permission, a channel override takes it away, or Buddy's role sits too low in the role list. This page explains all three and lists what each feature needs.
How Buddy's permissions work#
Buddy gets its permissions in layers, the same as members:
- Its roles. When you invite Buddy, Discord creates a role called Discord Buddy with the permissions you approved on the invite screen. Buddy also gets everything @everyone has. Add to Discord asks for Buddy's recommended set, which covers its features without Administrator.
- Channel overrides. Each channel (or its category) can allow or deny permissions for a role. A red ✕ on @everyone or on Buddy's role in a channel beats the server-wide permission.
- Administrator. If Buddy's role has Administrator, it skips channel overrides entirely, but it still can't manage roles or members that sit above it.
Private channels are the usual trap: if #staff-logs is hidden from @everyone, add Buddy's role
to the channel with View Channel and Send Messages allowed, or Buddy can't post there.
What Buddy needs for each feature#
Buddy always needs View Channel and Send Messages in the channel where it posts or where someone uses one of its commands. On top of that:
| Feature | Permissions Buddy needs | Where |
|---|---|---|
/setup | Embed Links (the panel's health check lists anything else missing) | The channel you run it in |
/echo, /botinfo | Administrator | Server-wide |
| Welcome messages | Embed Links (Embed style), Attach Files (welcome image) | Welcome channel |
| Join roles, welcome buttons and menus | Manage Roles, and Buddy's role above the roles | Server-wide |
| Leave messages, boost messages, daily activity report | View Channel, Send Messages | The chosen channel |
| Warnings & punishments | Ban Members (/ban, /unban), Kick Members (/kick), Timeout Members (/mute), Manage Roles if you use mute roles | Server-wide, target below Buddy |
| Message filters and image-only channels | Manage Messages (to delete) | The filtered channels |
| Spam alerts | Manage Messages, Timeout Members, Embed Links | Server-wide |
| Server logs | View Channel, Send Messages; View Audit Log to show who banned someone | Log channels |
| Prune messages | Manage Messages | The channel being cleaned |
| XP & levels | Send Messages in the level-up channel | Level-up channel |
| Level reward roles | Manage Roles, and Buddy's role above the reward roles | Server-wide |
| Starboard | Embed Links; Add Reactions for auto star | Starboard channel |
| Counting channel | Manage Messages (removes wrong counts) | Counting channel |
| Button roles | Manage Roles, and Buddy's role above the roles | Server-wide |
| Reaction roles | Manage Roles, Add Reactions, Manage Messages (to remove reactions) | Server-wide and the message's channel |
| Ticket system | Manage Channels (creates ticket channels); Read Message History for transcripts | Ticket category and log channel |
| Forum support | Send Messages in Threads; Manage Threads for the status buttons | The forum |
| Embed builder | Embed Links; Manage Messages to update or delete a posted embed | The embed's channel |
| Announcements (auto-publish) | Manage Messages | The announcement channel |
| Timed messages, auto responder, YouTube and stream alerts | View Channel, Send Messages (and Embed Links for embeds) | The chosen channel |
| Event timers, counter channels | Manage Channels (renames the channel) | The timer or counter channel |
| Banners, icons | Manage Server (changes the server banner or icon) | Server-wide |
| Invite tracking | Manage Server (to read invites); Create Invite for /invite create; Manage Roles for invite reward roles | Server-wide |
| Bot nickname | Change Nickname | Server-wide |
For the full per-command list, see Permissions reference.
Role hierarchy#
Discord only lets a member (or bot) manage roles and members below its own highest role. For Buddy that means:
- To give or remove a role (join roles, button and reaction roles, XP reward roles, invite reward roles), Buddy's role must be higher in the list than that role.
- To ban, kick or time out someone, Buddy's role must be higher than that member's highest role. Buddy can never act on the server owner.
Fix it in Server Settings → Roles: drag Discord Buddy above every role it should hand out.
Buddy's /ban, /kick, /mute and /warn also refuse when the target's highest role is equal to
or above yours, and you can't use them on yourself, the owner or Buddy.
Roles Buddy won't hand out#
To stop members giving themselves power, Buddy refuses to give out these roles through self-assign
features (button roles, reaction roles, welcome message buttons and menus) or as a level reward role in /xp roles:
- Roles with Administrator, Manage Server or Manage Roles
- @everyone
- Roles managed by an integration (bot roles, the Server Booster role and similar)
If a self-assign option points at one of these roles, Buddy doesn't give it. A button replies "This button points at a privileged role and cannot be used", and blocked reaction roles and welcome buttons or menus are recorded under Bot errors on the dashboard home. Use a separate role without those permissions, or assign it by hand.
Who can use Buddy's commands#
That's separate from what Buddy itself can do. Each command has a default permission (for example,
/warn needs Manage Server and /prune needs Manage Messages), so members without it don't
see the command. You can change this two ways:
- In Discord: Server Settings → Integrations → Discord Buddy lets you allow or deny each command for specific roles, members or channels.
- In Buddy: Command roles limits a command to chosen roles. Members with Administrator or Manage Server can still use it.
Check Buddy's permissions#
Run /setup in Discord. The health check
at the top of the panel lists any recommended permissions Buddy's role is missing and how many roles
sit above Buddy. If something's wrong, Fix Buddy's permissions opens Discord's authorize screen
with everything Buddy needs ticked: click Authorize and Discord adds the permissions to Buddy's role.
The Bot errors card on the dashboard home names the feature, the channel and the missing permission, for example "Missing Permissions: Manage Roles".
In Discord, open Server Settings → Roles → Discord Buddy → Permissions and turn on what's missing. While you're there, check where the role sits in the list.
Open the channel's Edit Channel → Permissions. Look for red ✕ overrides on @everyone or Buddy's role, or add Buddy's role with the permission allowed.
Re-run the command or trigger the feature. New problems show up under Bot errors with a timestamp.
Troubleshooting#
"Buddy is missing a permission"#
The full card says "To run this command here, Buddy needs … in this channel." Buddy checks the channel you used the command in. Give Buddy the listed permission there (or on its role), then try again.
If you have Manage Server, the card also has a Fix permissions button. It re-authorizes Buddy with its recommended permissions, which fixes a permission missing from Buddy's role. It can't undo a channel override that denies Buddy: for that, open Edit Channel → Permissions and allow the permission for Buddy's role.
👁️ Only you can see this • Dismiss message
Buddy has Manage Roles but still can't give a role#
Its role is below the role it's trying to give, or the role is one Buddy won't hand out (see above). Drag Discord Buddy higher in Server Settings → Roles.
"I can not mute that user."#
The member's highest role is equal to or above Buddy's, or Buddy is missing Timeout Members.
Everything works except in one channel#
That channel (or its category) has an override denying Buddy. Check Edit Channel → Permissions.