As the popularity and number of Discord bots grow, it's important to keep our users and developers safe and healthy. This means from time to time, like any maturing platform, we need to update our policies to reflect the current needs of the ecosystem.
MESSAGE CONTENT IS BECOMING A NEW PRIVILEGED INTENT
On August 31, 2022, access to message content will become a Privileged Intent—like presence and guild member data—for developers building or managing verified Discord bots and apps.
This change affects only verified bots, bots that are in 75 or more servers. Unverified bots in fewer than 75 servers are not affected at all.
Developers should begin to update their apps to reflect these new requirements.
Applications for requesting the intent began on Monday, Oct 25, 2021. During (and after) the transition period, developers can apply for access to message content in the same manner they currently apply for other intents: via the Developer Portal during verification or by opening a ticket after being verified.
On September 1, 2022, we will remove verified apps' access to message content if they have not been approved for the Privileged Intent.
Over the past year, we've built out the Interactions API to bring new features like Slash Commands, Buttons, and Select Menus that don't require access to message content. We recommend that developers who haven't yet leveraged these new tools begin to do so over the next nine months.
WHO IS IMPACTED?
This change applies only to verified bots and apps, which means those that are in 75 or more servers.
We know developers rely on being able to test and iterate quickly, so unverified apps and bots will continue to be able to access message content without restrictions, just like presence and guild member data.
WHAT WILL AN UNAPPROVED BOT LOSE ACCESS TO?
If your bot or app is not approved for message content, the following fields of the message object in Gateway and API payloads will be empty—either an empty string or empty array, depending on the data type—when you receive a message:
A bot can still send these fields. A bot will also always be able to get this information from:
- Messages the bot sends
- Messages the bot receives in DMs
- Messages in which the bot is mentioned
You will still receive the events and can call the same APIs, and you'll get other data about a message like
timestamp. To put it simply, you'll be able to know all the information about when someone sends a message; you just won't know what they said.
These restrictions will not apply to message objects received via interaction payloads (like buttons interactions).
WHY IS DISCORD MAKING THIS CHANGE?
As the popularity and number of Discord bots grow, it's important to keep our users and developers safe and healthy. Our existing policies require that developers only access information needed to provide their bots' functionality, and protect developer credentials and user data.
For more sensitive data, we've taken further steps to keep that information protected and responsibly accessed. This is good for Discord users, who value their privacy, and for developers, who can focus their efforts on making great user experiences, and don't have to worry as much about access and security restrictions around data that they don't need.
Presence and guild member information is already granted based on necessity after review; we believe that message content should be subject to a similar review and approval framework. Knowing that message content is central to certain bot functionality, we took the time to create appropriate replacements and preparations for granting access.
We're continuing to invest in interactions as the future of bots, including new slash command option types, better moderation controls, and new types of interactions.
WHAT ABOUT UNVERIFIED BOTS?
Unverified bots and apps will not be impacted by this change and can continue to use message content in their bot development without requesting any Privileged Intent.
HOW MUCH TIME DO I HAVE TO MIGRATE?
We know change takes time, which is why we've created a lengthy transition period of nine months to help ease into the new changes. The transition period will end on August 31, 2022, and developers who foresee that they will need to request permission for this Intent can begin applying on October 25, 2021.
We host virtual events and Q&As which any developer can attend—as always, the best place to stay in the loop is our official Discord Developer server.
WILL MY BOT BE ABLE TO READ MESSAGES IN DMs (DIRECT MESSAGES)?
Yes, this change does not impact a bot's ability to access Message Content in DMs.
WHAT ABOUT MODERATION BOTS?
We know that many bots and apps function specifically to read, moderate, and otherwise manage messages sent by Discord users. We expect to grant those requests for message content without issue.
If your bot has unique functionality that cannot be replicated or otherwise implemented with interactions, you can apply for the intent.
WHEN CAN I APPLY FOR THE NEW INTENT?
We expect most bots and apps to migrate to new ways of engaging with users, like slash commands and other interactions. Please bear in mind that only bots that perform unique behaviors (that cannot be performed by Interactions) will be eligible for this intent.
If your bot has unique functionality that cannot be replicated or otherwise implemented with interactions, you can begin applying on October 25, 2021. You can apply directly from the form available in the Developer Portal.
WHO WILL GET THE INTENT?
We intend to grant message content approval for features that are unique, compelling, and transformative; non-invasive and put user privacy and safety front and center; relevant to the given bot's mission and existing feature set; and do not represent any significant impact to our infrastructure.
You can read more about our review policy here.
WHAT HAPPENS IF I REQUEST AN INTENT AND IT GETS DENIED?
After the transition period has ended on August 31, 2022, all verified apps' access to Message Content will be revoked unless they have been granted the Privileged Intent.
As the name suggests, access to any special Intents is a privilege! We read all applications closely, and in certain cases will provide feedback for why your Intent request was not granted.
WHERE DO I APPLY FOR MESSAGE INTENT?
You can apply for the Message Content intent, along with our other privileged intents, directly through your bot's page in the Developer Portal. Note that this form will only be available if you are eligible to apply, i.e. if you are in 75 or more servers or are already verified).