The contradiction ledger

Every place Discord's own pages disagree with each other, as of the 2026-09-19 snapshot. Each side is a rule document in Sanity with its verbatim quote, source, authority score and effective dates. The resolution is ours, and it is what the agent applies. Most of these exist because Discord changed the privileged intent rules on 2026-06-10 and updated about half of its pages.

11 contradictions · 28 rules · project v6745vem · dataset production

C1

Is the privileged intent threshold 100 servers or 10,000 users?

Privileged intents need review at 10,000 users, not at 100 servers
When an app has more than 10,000 unique users who can see your app across all the servers it's in, it requires review for continued access to Privileged Intents. Once you hit this threshold, the app or team owner will receive a system DM and/or an email.
2026-06-10 → nowdeveloper docs80Gateway (developer docs)
Discord's announcement: the threshold is now user count, not server count
Starting today, the threshold is based on the number of users your app can access across all the servers it belongs to. If your app has fewer than 10,000 users, you can continue accessing Privileged Intents by toggling them on in the Developer Portal. Once your app reaches 10,000 users, you'll need to apply for Privileged Intent access.
Application flags table still says intents are required at 100 or more servers
GATEWAY_MESSAGE_CONTENT | Intent required for bots in **100 or more servers** to receive message content
2022-09-01 → 2026-06-09supersededinferreddeveloper docs80Application resource (developer docs)
ResolutionThe gateway page and the June 10, 2026 change log carry the current rule: 10,000 unique users. The application flags table on the same docs site still encodes the pre June 2026 100 server rule and was not updated. The change log is newer and explicit, so 10,000 users wins and server count is irrelevant.
C2

Does Message Content need approval after verification, or just a toggle under 10,000 users?

Under 10,000 users: just toggle the intent on, no approval and no verification
Apps with fewer than 10,000 users can access privileged intents by enabling them in the Developer Portal.
2026-06-10 → nowdeveloper docs80Gateway (developer docs)
App Verification and Privileged Intent review are separate processes
Previously, App Verification and Privileged Intent review were part of the same review process. With this change, we have separated App Verification and the Privileged Intent review process.
Gateway intents bullet still says verification is required for apps in 100+ guilds
For verified apps (required for apps in 100+ guilds), the intent must also be approved after the verification process to use the intent.
2022-09-01 → 2026-06-09supersededinferreddeveloper docs80Gateway (developer docs)
Gateway info box still says Message Content is approved after verification
Like other privileged intents, `MESSAGE_CONTENT` must be approved for your app. After your app is verified, you can apply for the intent from your app's settings within the Developer Portal.
2022-09-01 → 2026-06-09supersededinferreddeveloper docs80Gateway (developer docs)
ResolutionTwo paragraphs on the same gateway page disagree. The 'fewer than 10,000 users can access privileged intents by enabling them' paragraph matches the June 10, 2026 change log and the announcement that separated App Verification from intent review, so it wins. The info box and bullet that say 'after your app is verified, you can apply' are pre June 2026 text. Under 10,000 users: toggle it on, no approval, verification irrelevant. Over 10,000: apply within 90 days, verification still irrelevant.
C3

When exactly did the June 2026 change take effect?

The announcement says 'today' but carries no date
Today, we're announcing changes to how Discord Apps access Privileged Intents (Guild Members, Presence, and Message Content): a new user-based threshold for when access requires review, and an annual process to reapply for continued access.
The intent change is dated June 10, 2026 in the change log
Today, we're announcing changes to how Discord Apps access Privileged Intent with a new user-based threshold for when access requires review and an annual process to reapply for continued access.
2026-06-10 → nowchange log50Change Log (developer docs)
The review guide says the changes took effect as of June 10th, 2026
As of June 10th, 2026, we've made some changes to the Privileged Intents review process.
ResolutionWe rule June 10, 2026. The change log entry is dated June 10, 2026 and the review guide says 'As of June 10th, 2026'. The announcement page says 'today' but prints no date; its Zendesk metadata says created May 6, 2026, edited June 11, 2026, updated September 16, 2026. Cite the change log and flag that the primary source is undated.
C4

Do unverified apps still stop at 100 servers?

Hitting the threshold no longer blocks your app from joining new servers
Previously, when an app hit 100 servers and was required to apply for continued access to its Privileged Intents, it was blocked from joining new servers until the review was complete. That's no longer the case. Under the new user-based threshold, apps can continue joining servers and reaching new users while their submission is under review.
What verification unlocks: Discovery (App Directory) and monetisation
**App Verification** also allows you to add monetization features to your app, such as in-app purchases and subscriptions.
2026-06-10 → nowinferreddeveloper docs80Enabling Discovery (developer docs)
Support article still says verification is required to scale past 100 servers
Verification is required for your app to scale past 100 servers.
2024-08-30 → nowinferreddeveloper support60How Do I Get My App Verified? (developer support)
ResolutionUnresolved. The June 10, 2026 announcement says growth is no longer blocked during intent review and that verification is a separate process, and the Discovery docs describe verification only as the prerequisite for Discovery and monetisation. But no current page retracts the 100 server cap for unverified apps either; the only page that states it was last edited 2024-08-30. Our ruling: cite both, say no current source states a cap, and recommend asking developer support.
C5

Is retry_after in seconds or milliseconds?

Support article says retry_after is milliseconds
`retry_after`: Milliseconds to wait before making another request
2025-07-14 → nowinferreddeveloper support60My Bot is Being Rate Limited! (developer support)
retry_after is seconds (float) on API v8 and later; the Retry-After header is integer seconds
retry_after | float | The number of seconds to wait before submitting another request.
2020-09-24 → nowdeveloper docs80Rate Limits (developer docs)
ResolutionSeconds. The developer docs (authority 80) and the September 24, 2020 API v8 change log entry both say seconds, and the docs example pairs Retry-After: 65 with retry_after: 64.57. The support article (authority 60, edited 2025-07-14) kept the pre v8 milliseconds wording. Sleeping for milliseconds re-hits the limit and counts toward the 10,000 invalid requests per 10 minutes ban.
C6

Do interaction responses count against the global rate limit?

Interaction endpoints are exempt from the global rate limit, ephemeral or not
Interaction endpoints are not bound to the bot's Global Rate Limit.
2026-09-19 → nowinferreddeveloper docs80Rate Limits (developer docs)
Support article says ephemeral interaction responses do not count towards the rate limits
Bonus tip: Make Interaction Responses and follow-up messages ephemeral since they do not count towards the rate limits.
2025-07-14 → nowinferreddeveloper support60My Bot is Being Rate Limited! (developer support)
ResolutionThe developer docs win (authority 80 over 60) and are precise: all interaction endpoints, ephemeral or not, are exempt from the global 50 per second limit only; per route and shared limits still apply. The support article's 'ephemeral messages do not count towards the rate limits' is narrower (ephemeral only) and broader (all limits) at the same time, and wrong on both counts.
C7

Can a verified app change owners?

A verified app's team can be transferred, but verification is removed and the new owner re-verifies
If your developer team owns verified applications, transferring ownership will require **removing verification** from those applications. The new owner will need to reapply for verification after the transfer is complete.
Under 16 article: team ownership cannot be transferred after verification
That person will need to be the owner of the team, and ownership can't be transferred after verification is complete.
2022-05-23 → 2025-09-11supersededinferreddeveloper support60An Update on Verifications for Users Under 16 (developer support)
ResolutionThe transfer article (created September 12, 2025, edited July 27, 2026) documents a support ticket process: dual consent within 30 days, verification removed, identity data deleted, new owner re-verifies. It is newer and more specific, so it wins. The Under 16 article (content from 2024) was never updated and its 'can't be transferred' is obsolete.
C8

Which messages does a bot see without the Message Content intent?

The June 2026 guide adds replies (with ping on reply) as a content exception and omits context menu targets
The Message Content intent is **not** needed for your app to access message content in these situations: * **Messages your app sends** * **Direct Messages sent to your app** * **Messages that @mention your app** * **Replies to your app's messages.** Note: this applies to replies sent using Discord's reply feature to a regular bot message (not an interaction response) and the user has "ping on reply" enabled. It does not apply to replies to slash command responses.
The 2022 change log lists only three exceptions: own messages, DMs, mentions
These restrictions do not apply for messages that a bot or app sends, in DMs that it receives, or in messages in which it is mentioned.
2022-09-01 → nowchange log50Change Log (developer docs)
Without the intent you still get content for: your own messages, DMs, mentions, and context menu targets
Apps **without** the intent will receive empty values in fields that contain user-inputted content with a few exceptions: * Content in messages that an app sends * Content in DMs with the app * Content in which the app is mentioned * Content of the message a message context menu command is used on
2022-09-01 → nowdeveloper docs80Gateway (developer docs)
ResolutionThree official lists differ. We give the union: messages the app sends, DMs with the app, messages that mention the app, replies to a regular bot message when the user has ping on reply enabled (not replies to slash command responses), and the target message of a message context menu command. The reply exception appears only in the June 2026 guide and the context menu exception only on the gateway page; each page is incomplete rather than wrong.
C9

Is the $100 payout threshold gross or net of fees?

Docs: you become eligible for payout after your first $100
Once your app has made its first $100 it will become eligible for payout.
2026-09-19 → nowinferreddeveloper docs80Enabling Monetization (developer docs)
Support: payout eligibility starts at $100 earned net of processing and transaction fees
your team will become eligible for payout review after the first 100 dollars is earned [less applicable payment processing fees and transaction fees].
2025-09-19 → nowinferreddeveloper support60Premium Apps Payout (developer support)
ResolutionThe support article is more specific: the $100 is net of payment processing and transaction fees, then $25 minimum per cycle, paid within 45 days after month end. The docs sentence is a simplification of the same rule, not a different rule. Answer with the net figure and cite both.
C10

Can you monetise if your app never needed Message Content approval?

Monetisation checklist: app must use slash commands or be approved for Message Content
App uses slash commands, or has been approved for the privileged `Message Content` intent
2026-09-19 → nowinferreddeveloper docs80Enabling Monetization (developer docs)
Support: under 10,000 users you use privileged intents without applying, so there is no 'approved' state
Note that apps with fewer than 10,000 users can use Privileged Intents without needing to apply; just turn them on from the bot’s page on the Developer Portal.
2026-06-10 → nowinferreddeveloper support60How do I get Privileged Intents for my bot? (developer support)
ResolutionAmbiguous, not a hard contradiction. The checklist's 'approved for' Message Content is a state that since June 10, 2026 exists only for apps above 10,000 users. A sub 10,000 user prefix command bot has the intent but was never approved, so the checklist text does not cover it. Use slash commands to be safe, or ask developer support before enabling Premium Apps.
C11

Formatting and limits

Error 30030 says the category maximum is 5, which contradicts the support caps table
Maximum number of server categories has been reached (5)
2026-09-19 → nowinferreddeveloper docs80Opcodes and Status Codes (developer docs)
Caps table: 50 categories per server, 500 channels including categories, 50 channels per category
| Server categories | 50 | Same | Same | Same |
2026-03-02 → nowinferreduser support40Discord Account Caps, Server Caps, and More (user support)
ResolutionSupport says a server can have 50 categories and 500 channels including categories (caps article, edited 2026-03-02). The docs error table says code 30030 is 'Maximum number of server categories has been reached (5)'. The docs line is a bare error string with no context and the 5 most likely refers to something other than channel categories, but Discord does not say so. Our ruling: plan for 50 channel categories and 500 channels in total, cite both, and treat 30030 as the error to expect if a category create fails.

Source of truth: the rule documents with a contradictionId in Sanity project v6745vem. The same documents are served to the agent through a Sanity Context MCP endpoint in GROQ mode, alongside a Knowledge Base built from the snapshotted pages.