Intent class final

Gateway intents for controlling which events your bot receives from Discord.

Intents are used to specify which events your bot wants to receive from Discord's gateway. This allows you to reduce bandwidth usage and improve performance by only subscribing to the events you need.

Usage

Single Intent

final client = ClientBuilder()
  ..setIntent(Intent.guilds)
  ..build();

Multiple Intents (Bitwise OR)

final client = ClientBuilder()
  ..setIntent(
    Intent.guilds |
    Intent.guildMessages |
    Intent.guildMembers,
  )
  ..build();

All Intents

final client = ClientBuilder()
  ..setIntent(Intent.all)
  ..build();

All Non-Privileged Intents

final client = ClientBuilder()
  ..setIntent(Intent.allNonPrivileged)
  ..build();

Privileged Intents

Some intents require special approval from Discord:

To use privileged intents:

  1. Go to the Discord Developer Portal
  2. Select your application
  3. Go to the "Bot" section
  4. Enable the required privileged intents

Intent Categories

Guild (Server) Events

Message Events

Scheduled Events

Auto Moderation

Polls

Best Practices

  • Request only what you need: Each intent increases memory usage and bandwidth
  • Enable privileged intents carefully: They require approval and expose sensitive data
  • Use specific intents: Avoid using all unless necessary
  • Consider allNonPrivileged: Good default for bots that don't need privileged data
  • Test with minimal intents: Start with minimal intents and add as needed

Examples

Moderation Bot

final client = ClientBuilder()
  ..setIntent(
    Intent.guilds |
    Intent.guildMembers |        // Privileged
    Intent.guildModeration |
    Intent.guildMessages |
    Intent.messageContent,       // Privileged
  )
  ..build();

Music Bot

final client = ClientBuilder()
  ..setIntent(
    Intent.guilds |
    Intent.guildVoiceStates |
    Intent.guildMessages,
  )
  ..build();

Utility Bot (Commands Only)

final client = ClientBuilder()
  ..setIntent(Intent.guilds)  // Minimal for slash commands
  ..build();

Social Bot

final client = ClientBuilder()
  ..setIntent(
    Intent.guilds |
    Intent.guildMessages |
    Intent.guildMessageReactions |
    Intent.guildPresences |      // Privileged
    Intent.messageContent,       // Privileged
  )
  ..build();

See also:

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

all → const int
Combines all available intents (privileged and non-privileged).
allNonPrivileged → const int
Combines all non-privileged intents.
autoModerationConfiguration → const int
Subscribes to auto moderation rule configuration events.
autoModerationExecution → const int
Subscribes to auto moderation execution events.
directMessagePolls → const int
Subscribes to direct message poll vote events.
directMessageReactions → const int
Subscribes to direct message reaction events.
directMessages → const int
Subscribes to direct message events.
directMessageTyping → const int
Subscribes to direct message typing events.
guildEmojisAndStickers → const int
Subscribes to emoji and sticker events.
guildIntegrations → const int
Subscribes to integration events.
guildInvites → const int
Subscribes to invite events.
guildMembers → const int
Subscribes to guild member events (privileged).
guildMessagePolls → const int
Subscribes to guild message poll vote events.
guildMessageReactions → const int
Subscribes to guild message reaction events.
guildMessages → const int
Subscribes to guild message events.
guildMessageTyping → const int
Subscribes to guild typing events.
guildModeration → const int
Subscribes to guild ban and unban events.
guildPresences → const int
Subscribes to presence update events (privileged).
guilds → const int
Subscribes to guild and channel events.
guildScheduledEvents → const int
Subscribes to scheduled event notifications.
guildVoiceStates → const int
Subscribes to voice state events.
guildWebhooks → const int
Subscribes to webhook events.
messageContent → const int
Enables access to message content (privileged).