Java
Compatibility
The package is compatible with Discord4J version 3.2.6 or higher, Javacord version 3.8.0 or higher, and JDA version 5.0.0-beta.8 or higher.
WARNING
This package is no longer maintained by the Discord Analytics team. Feel free to create a Pull Request at https://github.com/DiscordAnalytics/java-package
Dependency
Let's install discord-analytics's package (To get the latest version of the package please see this page) :
Add to your pom.xml file this:
xml
<dependencies>
<dependency>
<groupId>xyz.discordanalytics</groupId>
<artifactId>discord-analytics</artifactId>
<version>VERSION</version>
</dependency>
</dependencies>Installation
java
package example;
import discord4j.core.DiscordClient;
import discord4j.core.GatewayDiscordClient;
import discord4j.core.event.domain.lifecycle.ReadyEvent;
import discord4j.core.object.entity.User;
import xyz.discordanalytics.D4JAnalytics;
import xyz.discordanalytics.utilities.EventsTracker;
import reactor.core.publisher.Mono;
import java.io.IOException;
public class ExampleWithD4J {
public static void main(String[] args) {
// Create a Discord client
// Don't forget to replace YOUR_BOT_TOKEN by your Discord bot token !
DiscordClient client = DiscordClient.create("YOUR_BOT_TOKEN");
Mono<Void> login = client.withGateway((GatewayDiscordClient gateway) ->
// Handle the ReadyEvent
gateway.on(ReadyEvent.class, event ->
Mono.fromRunnable(() -> {
final User self = event.getSelf();
System.out.printf("Logged in as %s#%s%n", self.getUsername(), self.getDiscriminator());
// Initialize what you want to track
EventsTracker eventsTracker = new EventsTracker();
eventsTracker.trackInteractions = true;
eventsTracker.trackGuilds = true;
eventsTracker.trackUserCount = true;
eventsTracker.trackUserLanguage = true;
eventsTracker.trackGuildsLocale = true;
System.out.printf("Logged in as %s%n", self.getUsername());
// Initialize the DiscordAnalytics class
// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token !
D4JAnalytics analytics = new D4JAnalytics(client, eventsTracker, "YOUR_API_KEY");
D4JAnalytics analytics = new D4JAnalytics(client, "YOUR_API_KEY");
// Start the tracking, it will be done every 10 minutes to avoid spamming the API
try {
analytics.trackEvents();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
})));
// Login the client
login.block();
}
}Complete installation
To complete installation, please restart you bot
