D4J 2.5.1

keep-around/d31701866686f66088b78de2e29736ae36e55a68
Pingex aka Raphaël 9 years ago
parent 3c2e6694ad
commit 193383a60c

@ -25,7 +25,7 @@ dependencies {
runtime group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.2'
// Discord Gateway API
compile group: 'com.github.austinv11', name: 'Discord4j', version: '2.4.9'
compile group: 'com.github.austinv11', name: 'Discord4j', version: '2.5.1'
// Util
compile group: 'net.jodah', name: 'failsafe', version: '0.8.3'

@ -2,7 +2,7 @@ package net.pingex.dcf.core;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import sx.blah.discord.api.EventSubscriber;
import sx.blah.discord.api.events.EventSubscriber;
import sx.blah.discord.handle.impl.events.*;
/**
@ -44,8 +44,13 @@ public class CoreEventsHandler
@EventSubscriber
public void onDiscordDisconnected(DiscordDisconnectedEvent event)
{
LOGGER.warn("Discord connection with user #{} lost ({}). Reconnecting", event.getClient().getOurUser().getID(), event.getReason());
GatewayConnectionsManager.getInstance().reconnect(event.getClient());
LOGGER.warn("Discord connection with user #{} lost ({}).", event.getClient().getOurUser().getID(), event.getReason());
}
@EventSubscriber
public void onDiscordReconnected(DiscordReconnectedEvent event)
{
LOGGER.info("Gateway connection reconnected (user #{}).", event.getClient().getOurUser().getID());
}
@EventSubscriber
@ -69,7 +74,7 @@ public class CoreEventsHandler
@EventSubscriber
public void onGuildUnavailable(GuildUnavailableEvent event)
{
LOGGER.warn("Guild #{} is unavailable.", event.getGuild().getID());
LOGGER.warn("Guild #{} is unavailable.", event.getGuildID());
}
@EventSubscriber

@ -63,7 +63,7 @@ public class GatewayConnectionsManager
public void registerConnection(ClientBuilder builder)
{
LOGGER.info("Registering new connection");
builder.withReconnects(); // Makes the connections auto-reconnects on dropped connection.
try
{
IDiscordClient builtConnection = builder.login();

@ -7,8 +7,8 @@ import sx.blah.discord.api.IDiscordClient;
import sx.blah.discord.handle.obj.IChannel;
import sx.blah.discord.handle.obj.IMessage;
import sx.blah.discord.util.DiscordException;
import sx.blah.discord.util.HTTP429Exception;
import sx.blah.discord.util.MissingPermissionsException;
import sx.blah.discord.util.RateLimitException;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
@ -36,7 +36,7 @@ public class DiscordInteractionsUtil
* Retry policy for sending a message
*/
private static final RetryPolicy MESSAGE_RETRY_POLICY = new RetryPolicy()
.retryOn(HTTP429Exception.class, DiscordException.class)
.retryOn(RateLimitException.class, DiscordException.class)
.withDelay(GW_RETRY_DELAY, TimeUnit.SECONDS)
.withMaxRetries(MAX_GW_RETRIES)
.abortOn(MissingPermissionsException.class);
@ -72,7 +72,7 @@ public class DiscordInteractionsUtil
* Policy for a gateway disconnection
*/
private static final RetryPolicy GW_LOGOUT_POLICY = new RetryPolicy()
.retryOn(HTTP429Exception.class, DiscordException.class)
.retryOn(RateLimitException.class, DiscordException.class)
.withDelay(GW_RETRY_DELAY, TimeUnit.SECONDS)
.withMaxRetries(MAX_GW_RETRIES);