Enum GatewayIntent

java.lang.Object
java.lang.Enum<GatewayIntent>
net.dv8tion.jda.api.requests.GatewayIntent
All Implemented Interfaces:
Serializable, Comparable<GatewayIntent>

public enum GatewayIntent extends Enum<GatewayIntent>
Flags which enable or disable specific events from the discord gateway.

The way to use these is very simple. Go through each intent in the following list and decide whether your bot will need these events or not.

  1. GUILD_MEMBERS - This is a privileged gateway intent that is used to update user information and join/leaves (including kicks). This is required to cache all members of a guild (including chunking)
  2. GUILD_MODERATION - This will only track guild moderation events, such as bans, unbans, and audit-logs.
  3. GUILD_EMOJIS - This will only track custom emoji create/modify/delete. Most bots don't need this since they just use the emoji id anyway.
  4. GUILD_WEBHOOKS - This will only track guild webhook create/update/delete. Most bots don't need this since related events don't contain any useful information about webhook changes.
  5. GUILD_INVITES - This will only track invite create/delete. Most bots don't make use of invites since they are added through OAuth2 authorization by administrators.
  6. GUILD_VOICE_STATES - Required to properly get information of members in voice channels and cache them. You cannot connect to a voice channel without this intent.
  7. GUILD_PRESENCES - This is a privileged gateway intent this is only used to track activity and online-status of a user.
  8. GUILD_MESSAGES - This is used to receive incoming messages in guilds (servers), most bots will need this for commands.
  9. GUILD_MESSAGE_REACTIONS - This is used to track reactions on messages in guilds (servers). Can be useful to make a paginated embed or reaction role management.
  10. GUILD_MESSAGE_TYPING - This is used to track when a user starts typing in guilds (servers). Almost no bot will have a use for this.
  11. DIRECT_MESSAGES - This is used to receive incoming messages in private channels (DMs). You can still send private messages without this intent.
  12. DIRECT_MESSAGE_REACTIONS - This is used to track reactions on messages in private channels (DMs).
  13. DIRECT_MESSAGE_TYPING - This is used to track when a user starts typing in private channels (DMs). Almost no bot will have a use for this.
  14. MESSAGE_CONTENT - This is a privileged gateway intent this is only used to enable access to the user content in messages (also including embeds/attachments/components).
  15. SCHEDULED_EVENTS - This is used to keep track of scheduled events in guilds.
  16. AUTO_MODERATION_CONFIGURATION - This is used to keep track of auto-mod rule changes in guilds.
  17. AUTO_MODERATION_EXECUTION - This is used to receive events related to auto-mod response actions.
If an intent is not specifically mentioned to be privileged, it is not required to be on the whitelist to use it (and its related events). To get whitelisted you either need to contact discord support (for bots in more than 100 guilds) or enable it in the developer dashboard of your application.

You must use ChunkingFilter.NONE if GUILD_MEMBERS is disabled. To enable chunking the discord api requires the privileged GUILD_MEMBERS intent.

See Also: