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' runtime group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.2'
// Discord Gateway API // 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 // Util
compile group: 'net.jodah', name: 'failsafe', version: '0.8.3' 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.LogManager;
import org.apache.logging.log4j.Logger; 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.*; import sx.blah.discord.handle.impl.events.*;
/** /**
@ -44,8 +44,13 @@ public class CoreEventsHandler
@EventSubscriber @EventSubscriber
public void onDiscordDisconnected(DiscordDisconnectedEvent event) public void onDiscordDisconnected(DiscordDisconnectedEvent event)
{ {
LOGGER.warn("Discord connection with user #{} lost ({}). Reconnecting", event.getClient().getOurUser().getID(), event.getReason()); LOGGER.warn("Discord connection with user #{} lost ({}).", event.getClient().getOurUser().getID(), event.getReason());
GatewayConnectionsManager.getInstance().reconnect(event.getClient()); }
@EventSubscriber
public void onDiscordReconnected(DiscordReconnectedEvent event)
{
LOGGER.info("Gateway connection reconnected (user #{}).", event.getClient().getOurUser().getID());
} }
@EventSubscriber @EventSubscriber
@ -69,7 +74,7 @@ public class CoreEventsHandler
@EventSubscriber @EventSubscriber
public void onGuildUnavailable(GuildUnavailableEvent event) public void onGuildUnavailable(GuildUnavailableEvent event)
{ {
LOGGER.warn("Guild #{} is unavailable.", event.getGuild().getID()); LOGGER.warn("Guild #{} is unavailable.", event.getGuildID());
} }
@EventSubscriber @EventSubscriber

@ -63,7 +63,7 @@ public class GatewayConnectionsManager
public void registerConnection(ClientBuilder builder) public void registerConnection(ClientBuilder builder)
{ {
LOGGER.info("Registering new connection"); LOGGER.info("Registering new connection");
builder.withReconnects(); // Makes the connections auto-reconnects on dropped connection.
try try
{ {
IDiscordClient builtConnection = builder.login(); 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.IChannel;
import sx.blah.discord.handle.obj.IMessage; import sx.blah.discord.handle.obj.IMessage;
import sx.blah.discord.util.DiscordException; import sx.blah.discord.util.DiscordException;
import sx.blah.discord.util.HTTP429Exception;
import sx.blah.discord.util.MissingPermissionsException; import sx.blah.discord.util.MissingPermissionsException;
import sx.blah.discord.util.RateLimitException;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -36,7 +36,7 @@ public class DiscordInteractionsUtil
* Retry policy for sending a message * Retry policy for sending a message
*/ */
private static final RetryPolicy MESSAGE_RETRY_POLICY = new RetryPolicy() 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) .withDelay(GW_RETRY_DELAY, TimeUnit.SECONDS)
.withMaxRetries(MAX_GW_RETRIES) .withMaxRetries(MAX_GW_RETRIES)
.abortOn(MissingPermissionsException.class); .abortOn(MissingPermissionsException.class);
@ -72,7 +72,7 @@ public class DiscordInteractionsUtil
* Policy for a gateway disconnection * Policy for a gateway disconnection
*/ */
private static final RetryPolicy GW_LOGOUT_POLICY = new RetryPolicy() 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) .withDelay(GW_RETRY_DELAY, TimeUnit.SECONDS)
.withMaxRetries(MAX_GW_RETRIES); .withMaxRetries(MAX_GW_RETRIES);