Skip to main content

Welcome to Discord4J Docs!

Welcome to the Discord4J documentation! Discord4J is a reactive Java wrapper for the official Discord Bot API. This site will cover all the basics on reactive programming, how to utilize the Discord4J library effectively, and common examples in reactive and blocking contexts. Feel free to explore the various topics these docs cover using the links in the sidebar.

Download / Installation#

The recommended way to get Discord4J is to use a build automation tool like Gradle or Maven.

Note that we do NOT support users who wish to forgo the use of a dependency manager (for example, manually installing Discord4J using a distributed .jar file).

To set up Gradle or Maven, refer to the documentation for your specific IDE:

IntelliJ#

Eclipse#

Versions#

Discord4JSupportGateway/APIIntents
v3.2.xIn developmentv8Mandatory, non-privileged default
v3.1.xCurrentv6Optional, no intent default
v3.0.xMaintenance onlyv6No intents support

Replace VERSION below with one of these:

  • Latest version from v3.2.x: Maven Central
  • Latest version from v3.1.x: Maven Central
  • Latest version from v3.0.x: Maven Central

Using dependency managers#

repositories {
mavenCentral()
}
dependencies {
implementation 'com.discord4j:discord4j-core:VERSION'
}

If you prefer using experimental, "bleeding-edge", unstable builds, refer to Using Jitpack.

Logging#

While optional, we do recommend installing and configuring a logging implementation to aid in debugging and provide useful information for day-to-day operations; plus, it's good practice. Discord4J uses Reactor's logging implementation, which is compatible with any SLF4J implementation. We recommend using Logback for maximum flexibility and customization; check our dedicated Logging guide for details.

Using dependency managers#

dependencies {
implementation 'ch.qos.logback:logback-classic:$logback_version'
}