JDA 5.2.1 API

Welcome to the documentation of the Java Discord API (JDA) library!

If you are new to JDA, you can check some of our official guides to get started:

There are also a few examples available to get inspired:

Other useful resources:

Packages
Package
Description
Annotations used for documentation.
The API features of JDA.
The audio API for Discord.
Audio send factories that can be implemented to generate custom audio send packages to be provided to Discord.
Listeners that can be used to monitor the ConnectionStatus or ping of an existing audio connection.
Implementation for AuditLogEntry and all utilities needed for its structure.
Entities representing Discord API objects like Users and Channels
Types and enums related to AutoMod.
Configurations for AutoMod rules and triggers.
Top-level abstractions related to Discord channel types.
Marker interfaces for specific channel features.
Concrete channel types in Discord.
Types relevant for forum channels and forum posts.
Abstractions for higher-level features in channels, such as sending messages or audio.
Union types used for simple casting to more concrete types.
Types relating to unicode and custom emoji as used in the API.
 
Types relevant for custom guild stickers and nitro stickers.
Types relevant for guild templates.
The core events that are fired by this library, informing the end-user about the state of the current JDA instance.
Events related to the configuration of AutoMod rules or AutoMod rules being triggered.
Events indicating that a new channel (MessageChannel / GuildChannel) was either modified, created or deleted.
Events related to forum tags.
Events related to forum tags being modified.
Events indicating that a specific channel property was updated.
Events that track added emojis and removed emojis.
Events that track updates for existing Custom Emojis
Events that indicate that a Entitlement is either created, updated, or deleted.
Events for the state of Guilds such as whether the current logged in account joins/leaves a Guild.
Events relating to invites being created or deleted in a guild.
Events that indicate changes for the Members of a Guild such as join/leave or updates of the specific Member such as new Roles or a new nickname.
Events for Member updates.
Events for PermissionOverride updates.
Gateway events for ScheduledEvents.
Events for ScheduleEvent updates.
Events indicating that a setting for a Guild has been updated.
Events indicating the GuildVoiceState updates for one of the Guild's Members.
Events fired in the context of HTTP requests being processed.
Abstractions for interaction events.
Interaction events related to application commands.
Interaction events related to message components.
Events that are fired for Messages in a MessageChannel.
 
Events indicating the MessageReactions of a Message changed.
Events that indicate that a Role is either created or deleted.
Events that indicate that a Role has been updated with a new setting.
Events indicating that one of the currently logged in account's settings has been modified.
Events about the current gateway connection state.
Events indicating when a stage instance is created or deleted.
Events for stage instance updates.
Events that track added stickers and removed stickers.
Events that track updates for existing GuildStickers.
Events related to thread visibility.
Events related to updates of the thread member list.
Events that indicate that a User presence has been updated, such as its avatar or game.
Events related to user updates, such as the name or avatar.
All custom exceptions of the JDA library
EventManager and EventListener implementations and interfaces.
Abstractions for interaction types.
Types of interaction responses, like message replies or message edits.
Abstractions for application commands and related interactions.
Types and utilities for building application commands.
Interactions related to context menus.
Utilities for localization of application commands.
Types related to application command privileges, often referred to as command permissions.
Abstraction types for message and modal components.
Button components.
Select menu components, also known as dropdowns.
Text input components.
Modals used for interactions.
Managers that allow to modify (PATCH) existing entities with either an update task or atomic setters.
Top-level channel manager.
Channel managers for specific attributes or channel features.
Concrete channel manager types for actual channel types.
Channel managers for higher level channel features, such as audio related settings.
Discord API communication features.
Extensions of RestAction that can be used to operate on a specific case before executing the request.
RestAction types related to interaction responses.
RestAction extensions specifically designed to change the order of discord entities.
Extensions of RestAction that allow to access paginated discord endpoints like the message history of a MessageChannel.
Implementations for ShardManager which enable auto-sharding.
Package which contains all utilities for the JDA library.
Interfaces for read-only access to internal JDA cache.
Implementations for threading related functionality such as Thread-Factories.
Serialization features used for communication with Discord.
Utility classes to decode and encode Erlang External Term Format (ETF)
Utilities for message building and formatting.