A Discord API wrapper in Java. Fully async / reactive, built on top of vert.x.
We have a Discord! https://discord.gg/kCsBCjK
Run mvn clean test install
If this is too hard for you and / or you use gradle, get it on Jitpack here: https://jitpack.io/#mewna/catnip
This is the simplest possible bot you can make right now:
final Catnip catnip = Catnip.catnip("your token goes here");
catnip.on(DiscordEvent.MESSAGE_CREATE, msg -> {
if(msg.content().startsWith("!ping")) {
catnip.rest().channel().sendMessage(msg.channelId(), "pong!");
}
});
catnip.startShards();catnip returns CompletionStages from all REST methods. For example,
editing your ping message to include time it took to create the
message:
final Catnip catnip = Catnip.catnip("your token goes here");
catnip.on(DiscordEvent.MESSAGE_CREATE, msg -> {
if(msg.content().equalsIgnoreCase("!ping")) {
final long start = System.currentTimeMillis();
catnip.rest().channel().sendMessage(msg.channelId(), "pong!")
.thenAccept(ping -> {
final long end = System.currentTimeMillis();
catnip.rest().channel().editMessage(msg.channelId(), ping.id(),
"pong! (took " + (end - start) + "ms)");
});
}
});
catnip.startShards();If you want to customize it more, look into the CatnipOptions class.
- Automatic sharding
- Proper support for REST / ratelimits,
RESUME, ...
- Full REST API coverage (see
Rest, #3)