Roody Roody / Article
Getting Started

Bot permissions in Discord

What this article covers. The permissions Roody needs in Discord (at server level and per channel) and role hierarchy. For specific problems with a command, see Permission problems.

How Discord assigns permissions to a bot

When you invite Roody, Discord automatically creates a managed role with the same name as the bot. That role is what defines what the bot can and can't do:

  • You can edit the bot role's permissions, but you can't delete it or assign it to other users.
  • If you re-invite the bot with a link asking for more permissions, Discord adds them to the role automatically.
  • Channel-level permissions can be adjusted independently (more on that later in this article).

Minimum server-level permissions

These permissions cover most of the basic modules:

  • View Channels
  • Send Messages
  • Send Messages in Threads
  • Embed Links
  • Attach Files
  • Read Message History
  • Add Reactions
  • Use External Emojis and Stickers
  • Use Application Commands
  • Manage Messages

Extra permissions depending on the module

Moderation

  • Kick Members, Ban Members, Moderate Members
  • Manage Roles (for auto roles, rewards, blacklist)
  • Manage Nicknames
  • View Audit Log (to correlate actions)

Tickets

  • Manage Channels (to create/close each ticket's channel)
  • Manage Permissions (to open the ticket only to the author and the staff)
  • Manage Webhooks (for the transcript system)

Logs

  • View Audit Log
  • Manage Webhooks (Roody uses webhooks to publish logs without them counting as bot messages)

Music

  • Connect and Speak in voice channels
  • Use Voice Activity

Welcome / goodbye / boost

  • Manage Roles (if you configure auto roles)
  • Attach Files (if you use generated images)

Role hierarchy

Discord applies hierarchy to almost every bot action. Roody can't:

  • Assign or remove a role that sits above its own.
  • Ban, kick or time out a user whose highest role sits above its own.
  • Change the nickname of someone with a higher role.
Recommendation: Put Roody's role above every role it has to manage (regular members, subscribers, self-assignable roles). Leave it below the admin roles so it can't act on your team.

Per-channel permissions

You can override the server permissions in specific channels. Typical cases:

  • Private staff channels: give Roody explicit access so it can read logs or accept commands there.
  • Read-only channels: Roody should have "Send Messages" if you use them for welcomes, scheduled announcements or logs.
  • Ticket categories: the bot needs "Manage Channels" on the category (not just on each child channel) to be able to create new tickets.

How to review the current permissions

  1. Open Server SettingsIntegrationsRoody.
  2. You'll see the inherited permissions, the available commands and any roles/channels with specific restrictions.
  3. From there you can also restrict specific commands without touching the bot's configuration.

Checklist

Related links

Was this article helpful?

Your answers help us improve the documentation.

0% found this helpful (0 ratings)

Comments

Share your experience or ask anything about this article.