Gateway Intent Calculator
Calculate Discord Gateway Intents for your bot. Select required intents and get the integer value with code generation for Discord.js and Discord.py.
Guild and channel create/update/delete events
Events (5)
Guild member add/update/remove events
Events (4)
Guild ban add/remove events (formerly GUILD_BANS)
Events (3)
Guild emoji and sticker update events
Events (2)
Guild integration update/delete events
Events (4)
Guild webhook update events
Events (1)
Guild invite create/delete events
Events (2)
Voice state update events
Events (1)
Presence update events (user status, activity)
Events (1)
Guild message events (requires MESSAGE_CONTENT for content)
Events (4)
Guild message reaction events
Events (4)
Guild typing start events
Events (1)
DM message events (requires MESSAGE_CONTENT for content)
Events (4)
DM message reaction events
Events (4)
DM typing start events
Events (1)
Access to message content, attachments, embeds, components
Events (1)
Scheduled event create/update/delete events
Events (5)
Auto Moderation rule create/update/delete events
Events (3)
Auto Moderation action execution events
Events (1)
Calculated Intent Value
00000000000000000000000// Discord.js v14+ - Configure Gateway Intents
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.GUILDS
]
});
// Or use numeric value directly
const client = new Client({
intents: 0
});
client.login('YOUR_BOT_TOKEN');What are Gateway Intents?
Gateway Intents allow you to control which events your bot receives from Discord. This helps reduce bandwidth and processing overhead. Some intents are privileged and require approval from Discord.
What are Gateway Intents?
Gateway Intents are a system introduced by Discord to allow bot developers to subscribe to specific groups of events. This helps reduce bandwidth usage and processing overhead by only receiving the events your bot actually needs.
Each intent is a bitwise flag that represents a set of related Discord events. You combine multiple intents using bitwise OR operations to create your bot's total intent value.
Privileged Intents
Some intents are classified as "privileged" because they provide access to sensitive user data. These require explicit approval from Discord:
Privileged GUILD_MEMBERS
Provides access to member-related events like joins, updates, and removals.
Required for: Member tracking, welcome messages, role updates
Privileged GUILD_PRESENCES
Provides access to user presence updates (online/offline status, activities).
Required for: Status tracking, activity monitoring
Privileged MESSAGE_CONTENT
Provides access to message content, attachments, embeds, and components.
Required for: Reading message content, content-based commands, moderation
How to Enable Privileged Intents
1. Go to Discord Developer Portal
2. Select Your Application
Click on your bot application from the list
3. Navigate to Bot Settings
Click "Bot" in the left sidebar
4. Enable Privileged Gateway Intents
Scroll down to "Privileged Gateway Intents" and toggle on the intents you need
⚠️ Bots in 100+ servers require verification to use privileged intents
Common Intent Combinations
Basic Bot
Minimal setup for slash commands and basic interactions
GUILDS
Message Bot
Bot that reads and responds to messages
GUILDS + GUILD_MESSAGES + MESSAGE_CONTENT
Moderation Bot
Full moderation capabilities with member tracking
GUILDS + GUILD_MEMBERS + GUILD_MODERATION + GUILD_MESSAGES + MESSAGE_CONTENT
Music Bot
Voice channel music playback
GUILDS + GUILD_VOICE_STATES
Welcome Bot
Greet new members and assign roles
GUILDS + GUILD_MEMBERS
Reaction Role Bot
React to messages for role assignment
GUILDS + GUILD_MESSAGES + GUILD_MESSAGE_REACTIONS
Intent Quick Reference
| Intent | Value | Privileged |
|---|---|---|
| GUILDS | 1 (1 << 0) | No |
| GUILD_MEMBERS | 2 (1 << 1) | Yes |
| GUILD_MODERATION | 4 (1 << 2) | No |
| GUILD_EMOJIS_AND_STICKERS | 8 (1 << 3) | No |
| GUILD_PRESENCES | 256 (1 << 8) | Yes |
| GUILD_MESSAGES | 512 (1 << 9) | No |
| MESSAGE_CONTENT | 32768 (1 << 15) | Yes |
Best Practices
Use Only What You Need
Only enable intents that your bot actually uses. This reduces bandwidth, improves performance, and makes your bot more privacy-friendly.
Request Privileged Intents Carefully
Privileged intents require verification for bots in 100+ servers. Make sure you have a legitimate use case before requesting them.
Document Your Intent Usage
Add comments in your code explaining why each intent is needed. This helps during verification and makes maintenance easier.
Prefer Slash Commands
If possible, use slash commands instead of message content parsing. This eliminates the need for the MESSAGE_CONTENT privileged intent.
GUILDS Intent is Required
The GUILDS intent is virtually required for all bots as it provides basic server information and channel updates.
Update Intents as Features Change
Review your intent configuration when adding new features. Remove intents that are no longer needed.