Skip to content

🚀 This new wiki is in beta! Please double-check for any issue and report them on the GitHub

Gateway Intents

Gateway Intents are filters that determine which events and data your bot receives from Discord. Properly configuring intents optimizes performance and ensures your bot has access to the data it needs.

Intents allow you to specify which Discord events your bot should receive. By selecting specific intents, you can:

  1. Reduce data transfer - Only receive events you need
  2. Optimize performance - Less data means faster processing
  3. Comply with Discord - Some data requires explicit permission

Discord intents fall into three categories:

Available to all bots without special permission:

  • Guild Moderation
  • Guild Emojis and Stickers
  • Guild Webhooks
  • Guild Invites
  • Guild Voice States
  • Guild Messages
  • Guild Message Reactions
  • Guild Message Typing
  • Direct Messages
  • Direct Message Reactions
  • Direct Message Typing
  • Scheduled Events

Require explicit enabling in the Discord Developer Portal:

  • Guild Members - Access to member join/leave events and member lists
  • Message Content - Access to message content (required for reading messages!)
  • Guild Presences - Access to member presence/status information

For handling poll-related events:

  • Guild Message Polls
  • Direct Message Polls

To use privileged intents:

  1. Go to Discord Developer Portal
  2. Select your application
  3. Navigate to the “Bot” section
  4. Scroll to “Privileged Gateway Intents”
  5. Enable the intents you need
  6. Save changes

For most bots, use default intents:

define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: default intents

Default intents include:

  • Guild messages
  • Direct messages
  • Guild message reactions
  • Guild voice states
  • And other common intents

Specify exactly which intents you need:

define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: guild members, message content, guild messages

Enable all available intents:

define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: all intents

You can combine multiple intents:

define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: default intents, guild members, message content, guild presences
intents: guild messages, message content
intents: guild members, guild messages, message content
intents: default intents, guild voice states
intents: all intents

Some DiSky features require specific intents:

FeatureRequired Intent
Read message contentMessage Content (privileged)
Access member listGuild Members (privileged)
Member join/leave eventsGuild Members (privileged)
Member status/presenceGuild Presences (privileged)
Voice state updatesGuild Voice States
Emoji/sticker updatesGuild Emojis and Stickers
Scheduled eventsScheduled Events
  1. Start with default intents - Good for most bots
  2. Add privileged intents as needed - Enable in Developer Portal first
  3. Don’t use all intents unnecessarily - Only enable what you need
  4. Plan for growth - Consider verification requirements for 100+ servers
  5. Test thoroughly - Ensure your bot has all required intents

”CloseCode 4014” or “Disallowed intents” Error

Section titled “”CloseCode 4014” or “Disallowed intents” Error”

This means you’re using intents in code that aren’t enabled in the Developer Portal.

Solution: Enable the required privileged intents in the Discord Developer Portal.

You’re missing the Message Content intent.

Solution:

  1. Enable it in the Developer Portal
  2. Add it to your bot configuration:
    intents: default intents, message content

You’re missing the Guild Members intent.

Solution:

  1. Enable it in the Developer Portal
  2. Add it to your bot configuration:
    intents: default intents, guild members
define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: guild messages
policy: none
cache flags: none
define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: default intents, guild members, message content
policy: all
cache flags: default flags
define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: all intents
policy: all
cache flags: all
graph TD
A[Discord Intents] --> B[Privileged Intents]
A --> C[Standard Intents]
A --> D[Message Poll Intents]
B --> E[Guild Members]
B --> F[Message Content]
B --> G[Guild Presences]
C --> H[Guild Moderation]
C --> I[Guild Emojis/Stickers]
C --> J[Guild Voice States]
C --> K[Guild Messages]
C --> L[Scheduled Events]
D --> M[Guild Message Polls]
D --> N[Direct Message Polls]