🎯

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.

GUILDS

Guild and channel create/update/delete events

Events (5)
GUILD_CREATE
GUILD_UPDATE
GUILD_DELETE
GUILD_ROLE_CREATE
CHANNEL_CREATE
GUILD_MEMBERS
Privileged

Guild member add/update/remove events

Events (4)
GUILD_MEMBER_ADD
GUILD_MEMBER_UPDATE
GUILD_MEMBER_REMOVE
THREAD_MEMBERS_UPDATE
GUILD_MODERATION

Guild ban add/remove events (formerly GUILD_BANS)

Events (3)
GUILD_BAN_ADD
GUILD_BAN_REMOVE
GUILD_AUDIT_LOG_ENTRY_CREATE
GUILD_EMOJIS_AND_STICKERS

Guild emoji and sticker update events

Events (2)
GUILD_EMOJIS_UPDATE
GUILD_STICKERS_UPDATE
GUILD_INTEGRATIONS

Guild integration update/delete events

Events (4)
GUILD_INTEGRATIONS_UPDATE
INTEGRATION_CREATE
INTEGRATION_UPDATE
INTEGRATION_DELETE
GUILD_WEBHOOKS

Guild webhook update events

Events (1)
WEBHOOKS_UPDATE
GUILD_INVITES

Guild invite create/delete events

Events (2)
INVITE_CREATE
INVITE_DELETE
GUILD_VOICE_STATES

Voice state update events

Events (1)
VOICE_STATE_UPDATE
GUILD_PRESENCES
Privileged

Presence update events (user status, activity)

Events (1)
PRESENCE_UPDATE
GUILD_MESSAGES

Guild message events (requires MESSAGE_CONTENT for content)

Events (4)
MESSAGE_CREATE
MESSAGE_UPDATE
MESSAGE_DELETE
MESSAGE_DELETE_BULK
GUILD_MESSAGE_REACTIONS

Guild message reaction events

Events (4)
MESSAGE_REACTION_ADD
MESSAGE_REACTION_REMOVE
MESSAGE_REACTION_REMOVE_ALL
MESSAGE_REACTION_REMOVE_EMOJI
GUILD_MESSAGE_TYPING

Guild typing start events

Events (1)
TYPING_START
DIRECT_MESSAGES

DM message events (requires MESSAGE_CONTENT for content)

Events (4)
MESSAGE_CREATE
MESSAGE_UPDATE
MESSAGE_DELETE
CHANNEL_PINS_UPDATE
DIRECT_MESSAGE_REACTIONS

DM message reaction events

Events (4)
MESSAGE_REACTION_ADD
MESSAGE_REACTION_REMOVE
MESSAGE_REACTION_REMOVE_ALL
MESSAGE_REACTION_REMOVE_EMOJI
DIRECT_MESSAGE_TYPING

DM typing start events

Events (1)
TYPING_START
MESSAGE_CONTENT
Privileged

Access to message content, attachments, embeds, components

Events (1)
Enables content in MESSAGE_CREATE and MESSAGE_UPDATE
GUILD_SCHEDULED_EVENTS

Scheduled event create/update/delete events

Events (5)
GUILD_SCHEDULED_EVENT_CREATE
GUILD_SCHEDULED_EVENT_UPDATE
GUILD_SCHEDULED_EVENT_DELETE
GUILD_SCHEDULED_EVENT_USER_ADD
GUILD_SCHEDULED_EVENT_USER_REMOVE
AUTO_MODERATION_CONFIGURATION

Auto Moderation rule create/update/delete events

Events (3)
AUTO_MODERATION_RULE_CREATE
AUTO_MODERATION_RULE_UPDATE
AUTO_MODERATION_RULE_DELETE
AUTO_MODERATION_EXECUTION

Auto Moderation action execution events

Events (1)
AUTO_MODERATION_ACTION_EXECUTION

Calculated Intent Value

Decimal
0
Binary
0000000000000000000000
// 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

Visit discord.com/developers/applications

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.