Discord privileged gateway intents are three opt-in permissions (Presence, Server Members, and Message Content) that a bot's owner must switch on in the Developer Portal before Discord will send that data over the gateway. They exist because member lists and message text are sensitive by default. Miss one and the bot doesn't error loudly; it just silently stops seeing the events it needs, which is why "my bot is online but doing nothing" so often traces back to an intent toggle.
What a gateway intent actually is
When a bot connects to Discord, it doesn't automatically receive every event happening in every server it's in. It subscribes to categories of events called intents: message events, voice state events, guild update events, and so on. Most intents are free to declare in code and Discord grants them without asking. Three are different. Discord calls them privileged intents because the data behind them, exactly who is in a server and what members are typing, is powerful enough that it wants the bot owner to explicitly opt in through the Developer Portal, not just in code.
If a bot's code requests a privileged intent but the owner hasn't switched it on for that application, Discord refuses the login outright. The bot doesn't come online in a degraded state; it doesn't connect at all, and the gateway closes with a "disallowed intents" error.
The three privileged intents
- Presence Intent. Online/idle/offline status and custom activities for every member. Used by bots that show live presence data; most ticket, moderation, and commerce bots, Noxyr included, don't need it.
- Server Members Intent. The full member list, plus join and leave events, role changes, and nickname updates. This is the intent behind welcome messages, member counts, and anti-raid detection.
- Message Content Intent. The actual text of a message, not just the fact that a message was sent. Without it, a bot can see that someone posted in a channel but not what they typed.
Noxyr's code requests two of the three: Server Members Intent and Message Content Intent. Presence Intent isn't part of any Noxyr feature, so it's never requested and never needs to be turned on.
What breaks without Server Members Intent
Server Members Intent is what lets a bot receive GUILD_MEMBER_ADD and GUILD_MEMBER_REMOVE events, the join and leave events almost every membership feature depends on.
- Welcome messages. A welcome message fires on join. Without the intent, the bot never receives the join event, so nothing posts and no auto-role is assigned.
- Member counts. A live member-count channel or widget updates from the same join/leave events. Without the intent it freezes at whatever count it last saw.
- Anti-nuke and raid protection. Detecting a mass-join raid or watching for suspicious role and nickname changes both depend on member events. Turn the intent off and that entire detection path goes dark.
- Verification flows. Any gate that checks a member's join date, roles, or account age needs the member object the intent provides.
What breaks without Message Content Intent
Message Content Intent gates the actual text of a message. A bot can still see that a channel received a message and who sent it without this intent; it just can't read what was said.
- Auto-responders. Matching a trigger word like "refund" or "how do I pay" requires reading the message text. No content, no match, no reply.
- AI chat replies. An AI assistant that answers questions in a channel or on mention needs the question itself. Without the intent it knows someone spoke but has nothing to send to the model.
- Ticket transcripts. A transcript that records what staff and members actually said in a ticket needs message content to log; without it you'd get a list of timestamps and usernames with no content.
- Prefix-based moderation. Anything scanning messages for banned words, invite links, or spam patterns reads content the same way an auto-responder does.
Slash commands are unaffected either way, since Discord delivers command input separately from regular messages. It's specifically features that read what members type in ordinary messages that depend on this intent.
How to enable intents in the Developer Portal
- Open the Discord Developer Portal and select the bot's application.
- Click Bot in the left sidebar.
- Scroll to Privileged Gateway Intents.
- Switch on Server Members Intent and Message Content Intent (add Presence Intent only if a bot specifically needs live status data).
- Save changes, then restart or reconnect the bot so it picks up the new intents on its next login.
The toggle takes effect on the next gateway connection, not instantly for a bot that's already logged in. A bot that was mid-session when an intent was flipped off will usually get disconnected by Discord and need to be reconnected once the intent is back on.
The 100-server verification rule
Toggling the switch in the portal is enough for a bot in fewer than 100 servers. Once a bot's install count crosses 100 servers, Discord requires the application to go through bot verification, a review process where the owner submits the bot for approval, before it's allowed to use privileged intents at that scale. An unverified bot that hits the threshold keeps running in the servers it's already in, but it's capped from joining new ones until verification is granted or the privileged intents it doesn't strictly need are dropped.
This is a Discord platform rule, not something any individual bot host controls. It exists so that data-sensitive intents like Server Members and Message Content aren't handed out at scale without Discord's own review of what the bot does with them.
Why Noxyr checks both intents before accepting a token
Noxyr's Custom Bot feature runs its full feature set under a bot token you provide. Because welcome messages, member counts, AI chat, ticket transcripts, and auto-responders all depend on the two intents above, the dashboard checks that Server Members Intent and Message Content Intent are switched on before it will accept your token at all. A token pasted in with either intent off is refused up front, rather than accepted and left to fail quietly later with a confusing gateway error.
If an intent gets switched off after the bot is already running (say, someone unchecks it in the portal months later), Discord's gateway closes the connection with codes 4013 or 4014. Noxyr's hosting nodes catch that specific close code, turn the bot off, and post a plain-language status message telling you exactly which setting to fix, rather than leaving it stuck in a silent reconnect loop. The full breakdown of that error and the other common offline causes is in our gateway error 4004/4014 troubleshooting guide.
Common questions
Do I need Presence Intent for Noxyr's Custom Bot? No. Noxyr only requests Server Members Intent and Message Content Intent. Presence Intent can stay off.
Why does my bot show "disallowed intents" even though I turned the toggles on? The gateway only reads the current state on a fresh login. Restart the bot after saving the portal settings so it reconnects with the new intents applied.
Does enabling Message Content Intent mean Discord shares message history with the bot? No. It only affects messages sent while the bot is connected and has access to that channel. It doesn't retroactively grant access to past messages the bot wasn't present for.
Will my bot get banned for requesting privileged intents? No. Requesting and using them for features that need them, welcome messages, auto-responders, AI replies, is exactly what they're for. Verification exists for bots at scale, not as a penalty.
See the full setup walkthrough in the Custom Bot docs, or add Noxyr free and skip the intents entirely by running the main bot instead of a token-based custom one.