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.
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:
|v3.2.x||In development||v8||Mandatory, non-privileged default|
|v3.1.x||Current||v6||Optional, no intent default|
|v3.0.x||Maintenance only||v6||No intents support|
Replace VERSION below with one of these:
If you prefer using experimental, "bleeding-edge", unstable builds, refer to Using Jitpack.
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.