How to Add a Discord Bot to a Server With Correct Permissions
🔍 WiseChecker

How to Add a Discord Bot to a Server With Correct Permissions

Adding a Discord bot to your server can automate moderation, play music, manage roles, and much more. However, many users run into issues where the bot does not function properly because they skipped or misconfigured the permission settings during the invite process. This article explains the exact steps to invite a bot while granting it the necessary permissions so it works correctly from the start. You will learn how to use the OAuth2 URL generator, review permission scopes, and verify the bot has the right access after it joins.

Key Takeaways: Inviting a Bot With the Right Permissions

  • OAuth2 URL Generator > Scopes > bot: This is the required scope that allows you to invite a bot user to your server.
  • Bot Permissions tab in the URL Generator: Select exactly the permissions the bot needs to function, such as Send Messages, Manage Roles, or Read Message History.
  • Server Settings > Integrations > Bots and Apps: After the bot joins, use this menu to review and adjust the bot’s role and command permissions.

Understanding Bot Invite Permissions and the OAuth2 Flow

When you invite a Discord bot, you are not simply adding a user. You are authorizing a third-party application to interact with your server through Discord’s API. The invitation process uses OAuth2, an industry-standard authorization framework. The bot’s developer defines a set of permissions the application requests, but the server administrator must approve them during the invite. If you approve fewer permissions than the bot needs, certain commands or features will fail silently. If you approve more permissions than necessary, you create a security risk because the bot could access channels or data it does not require. The goal is to match the permissions exactly to the bot’s documented requirements.

What Are Scopes and Permissions?

Scopes define what the application can do overall. For bots, the relevant scope is bot. Without this scope, the invite URL will not create a bot user. Permissions are granular actions the bot can perform in the server, such as sending messages, kicking members, or managing channels. You select these permissions from a list when generating the invite URL. The bot’s documentation usually states which permissions are required. Common examples include Read Messages, Send Messages, Manage Messages (for moderation bots), and Connect and Speak for voice bots.

Prerequisites Before Inviting a Bot

You must have the Manage Server permission on the Discord server where you want to add the bot. This permission is usually held by the server owner or users with the Administrator role. Without it, the invite page will show an error saying you do not have permission to add the bot. Additionally, you need the bot’s client ID, which is a numeric string found on the Discord Developer Portal under the application’s General Information tab. Most bot listing websites like top.gg or discord.bots.gg provide an invite button that automatically generates the correct URL with the required client ID and permissions.

Steps to Add a Discord Bot With Correct Permissions

Follow these steps to generate the invite URL, select the proper permissions, and complete the addition on your server. The process uses the Discord Developer Portal’s OAuth2 URL Generator, which is the most reliable method for ensuring correct permissions.

  1. Open the Discord Developer Portal
    Go to the Discord Developer Portal and log in with your Discord account. Click the application that corresponds to the bot you want to add. If you are adding a bot you did not create, you will not use this portal directly; instead, use the invite link provided by the bot developer. For custom bots you own, this is where you generate the URL.
  2. Navigate to the OAuth2 URL Generator
    In the left sidebar, click OAuth2, then click URL Generator. This page lets you build the invite URL step by step.
  3. Select the Bot Scope
    Under the Scopes section, check the box for bot. This tells Discord that the invite will add a bot user. After selecting this scope, a new section called Bot Permissions appears below.
  4. Choose the Required Bot Permissions
    In the Bot Permissions section, check the boxes for every permission the bot needs. Refer to the bot’s documentation for the exact list. Common permissions include:
    Send Messages
    Read Message History (required for bots that scan past messages)
    Manage Messages (for moderation bots that delete or pin messages)
    Connect and Speak (for music or voice bots)
    Manage Roles (for bots that assign roles)
    Kick Members and Ban Members (for moderation bots)
    Do not select permissions the bot does not need. If you are unsure, start with the minimum set and add more later if the bot reports missing permissions.
  5. Copy the Generated URL
    At the bottom of the page, a URL appears in the text field. Click the Copy button next to it. This URL contains the client ID, the bot scope, and the permission integer representing your selected permissions.
  6. Open the Invite URL in a Browser
    Paste the copied URL into a new browser tab and press Enter. Discord will display an authorization page showing the bot’s name, avatar, and the permissions you selected.
  7. Select Your Server and Authorize
    From the drop-down list, choose the server where you want to add the bot. Ensure you have the Manage Server permission on that server. Click the Authorize button. You may be asked to complete a CAPTCHA to prove you are human.
  8. Verify the Bot Appears in the Server
    After authorization, the bot joins the server. It will appear in the member list, usually with a gray bot icon next to its name. Open a text channel and type a simple command like !help or /help to confirm the bot responds.

If the Bot Does Not Work Correctly After Adding It

Sometimes a bot joins the server but does not respond to commands or cannot perform its intended actions. This usually happens because the bot lacks the necessary permissions or because its role is positioned incorrectly in the role hierarchy.

Bot Cannot Read or Send Messages in a Channel

Even if you granted the bot the Send Messages and Read Message History permissions globally, individual channel permissions can override them. To fix this, go to the channel where you want the bot to operate, click the gear icon to open Channel Settings, navigate to Permissions, and ensure the bot’s role has the required permissions enabled. If the channel has custom permissions set, the bot’s role must have those permissions explicitly allowed.

Bot Cannot Manage Roles or Kick Members

Discord uses a role hierarchy: a bot can only manage roles that are below its highest role in the server settings. If the bot’s role is positioned below the role it needs to assign or kick, the action fails. To fix this, go to Server Settings > Roles and drag the bot’s role above any roles the bot needs to manage. Remember, the bot’s role cannot be moved above the server owner’s role or the server owner’s highest role.

Bot Reports Missing Permissions in Command Output

Some bots check permissions at runtime and display an error like Missing Permissions. This indicates that the bot does not have a permission it needs for that specific command. You can either re-invite the bot with the missing permission added or grant the permission through the server’s role settings. To re-invite, generate a new URL with the additional permission checked and follow the invite steps again. The bot will not duplicate; it will simply update its authorized permissions.

Comparison: Inviting a Bot via Developer Portal vs. Third-Party Bot List

Item Developer Portal OAuth2 Generator Bot List Website (top.gg, discord.bots.gg)
Access Requires you to own the bot application or have its client ID Open to anyone; provides a ready-made invite button
Permission Control Full control to select exactly which permissions to grant Permissions are preset by the bot developer; you cannot change them before inviting
Security You can choose minimal permissions, reducing risk Permissions may be higher than necessary; you must trust the developer
Use Case Best for custom or self-hosted bots Best for public bots from trusted developers

You now have the knowledge to add a Discord bot with precisely the permissions it needs. After the bot is in your server, check its role position in Server Settings > Roles and adjust it if the bot needs to manage other roles. As an advanced tip, you can use the Permissions Calculator on the Discord Developer Portal to compute the exact permission integer for use in API calls or custom invite links.