When you develop a Discord bot that needs to read message content from channels, you must request approval for the Message Content Intent. Without this privileged intent, your bot cannot see the text users type in most servers, even if it has the proper permissions. Discord introduced this requirement to protect user privacy and limit data collection by bots. This article explains the exact application process, the eligibility criteria, and common pitfalls to avoid when requesting approval.
Key Takeaways: Discord Bot Message Content Intent Approval
- Discord Developer Portal > Application > Bot > Privileged Gateway Intents: Toggle the Message Content Intent on to request approval.
- Bot Verification > Verification Form: Submit a detailed use case explaining why your bot needs message content access.
- Bot in fewer than 100 servers: Smaller bots may receive automatic approval after verification.
What Is the Message Content Intent and Why Does It Require Approval?
The Message Content Intent is a privileged gateway intent that allows a bot to receive the content of messages sent in servers where the bot is present. Without this intent, a bot can only see message content in direct messages, in messages that mention the bot, or in messages where the bot has been explicitly granted permission via a command prefix. Discord introduced this restriction in September 2022 to reduce mass data collection by bots and to give users more control over their privacy.
Approval is required for any bot that needs to read all messages in a channel, such as bots that perform moderation scans, log conversations, or analyze text. Bots that only respond to slash commands or that only read messages when explicitly invoked do not need this intent. The approval process ensures that developers have a legitimate reason for accessing message content and that they comply with Discord’s Developer Terms of Service.
Eligibility Criteria for Approval
To be eligible for Message Content Intent approval, your bot must meet the following conditions:
- Your bot must be verified by Discord. Verification requires your bot to be in at least 75 servers and to pass a review process.
- Your bot must have a clear, documented use case that requires reading message content. Generic reasons like “better user experience” are rejected.
- Your bot must not violate Discord’s Developer Terms of Service or Privacy Policy.
What Happens If You Do Not Get Approval?
If your bot does not have the Message Content Intent approved, it will receive empty strings for message content in all guild channels. The bot can still see message IDs, author IDs, channel IDs, and timestamps, but the content field will be blank. This limitation prevents the bot from performing any text analysis or logging functions that depend on message text.
Steps to Request Message Content Intent Approval
Follow these steps to enable the Message Content Intent and submit your approval request through the Discord Developer Portal.
- Log into the Discord Developer Portal
Go to https://discord.com/developers/applications and sign in with your Discord account. Click on your bot’s application from the list. - Navigate to the Bot settings page
In the left sidebar, click Bot. This page shows your bot’s username, token, and permission settings. - Scroll to the Privileged Gateway Intents section
Under the Privileged Gateway Intents heading, you will see three toggles: Presence Intent, Server Members Intent, and Message Content Intent. Toggle the Message Content Intent switch to the ON position. A confirmation dialog appears. Click Yes, I’m sure. - Save your changes
Click the Save Changes button at the bottom of the page. The toggle will now show as enabled, but the intent is not yet approved. - Submit a verification request
If your bot is not yet verified, you must first apply for bot verification. Go to the General Information page in the left sidebar. Scroll to the Bot Verification section and click Submit for Verification. Fill out the verification form with your bot’s name, description, and server count. - Complete the Message Content Intent section in the verification form
In the verification form, you will see a field labeled Why does your bot need the Message Content Intent? Write a clear, specific explanation. Include the exact features that require message content, such as “auto-moderation keyword filtering” or “command prefix parsing for custom commands.” Avoid vague statements. - Submit the form and wait for review
Click Submit to send your verification request. Discord’s team reviews the request within a few days to a few weeks. You will receive a notification in the email address associated with your developer account.
If Your Bot Is Already Verified
- Open the bot’s application in the Developer Portal
Go to https://discord.com/developers/applications and select your bot’s application. - Go to Bot > Privileged Gateway Intents
Toggle the Message Content Intent to ON and save changes. - Submit a support ticket for intent approval
Visit https://dis.gd/contact and select the category Bot Verification & Intents. Explain that you need the Message Content Intent approved for your already-verified bot. Include your bot’s application ID and a brief description of the use case.
Common Reasons for Rejection and How to Avoid Them
“My bot needs to read all messages for better functionality”
This reason is too vague. Discord expects you to name the specific feature that requires message content. For example, if your bot filters bad words, say “auto-moderation that scans every message for profanity and sends alerts to moderators.” If your bot logs messages for audit purposes, say “message logging that archives all messages in specified channels for compliance.” Be precise.
“My bot uses a prefix command system”
Prefix commands alone do not require the Message Content Intent. Discord provides message content to bots when a message starts with a registered command prefix, such as ! or ?. You only need the intent if your bot must read messages that do not start with the prefix. If your bot only responds to prefix commands, you can disable the intent and still function correctly.
“My bot is in fewer than 75 servers”
Discord requires bot verification before approving the Message Content Intent. Verification requires your bot to be in at least 75 servers. If your bot is smaller, you can still enable the intent in the Developer Portal, but it will not be approved until you reach the server threshold. You can test the intent locally with a small number of servers, but production use without approval may result in your bot being disabled.
“I submitted the form but never heard back”
Review times vary. If you have not received a response after two weeks, submit a follow-up support ticket via https://dis.gd/contact. Include your original ticket number and a polite request for an update. Do not submit multiple duplicate tickets, as this can delay the process.
Bot Verification Tiers: Approved Intents vs Unverified Bots
| Item | Unverified Bot | Verified Bot with Approved Message Content Intent |
|---|---|---|
| Message Content Access | Limited to DMs and messages that mention the bot | Full access to all message content in guilds where the bot is present |
| Server Requirement | No minimum | At least 75 servers to qualify for verification |
| Approval Process | No formal approval needed for local testing | Submit verification form and wait for review |
| Risk of Disabling | Bot may be disabled if intent is used in production without approval | Compliant with Discord policy |
After your Message Content Intent is approved, your bot can process message content in all servers where it has permission to read messages. This enables features like keyword-based moderation, message analytics, and custom command systems that do not rely on prefixes. Remember that you must still respect user privacy and comply with Discord’s Developer Terms of Service. If your bot’s functionality changes, you may need to update your approval request. A practical next step is to implement logging for your bot’s message processing to ensure you stay within the scope of your approved use case.