JDA 5.6.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 EmojisEvents 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 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 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.