From 939c6f4970c4dda17ce263e67a4abf06238b4f58 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Sat, 1 Jun 2019 02:27:40 +0200 Subject: [PATCH] Server ready fix & main server fix attempt --- .../buttondevteam/discordplugin/DiscordPlugin.java | 11 +++++++---- .../buttondevteam/discordplugin/fun/FunModule.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index b357f11..e08dbf3 100755 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -65,8 +65,11 @@ public class DiscordPlugin extends ButtonPlugin { return plugin.prefix().get(); } - private ConfigData mainServer() { - return getIConfig().getDataPrimDef("mainServer", 219529124321034241L, id -> dc.getGuildById(Snowflake.of((long) id)).block(), g -> g.getId().asLong()); + private ConfigData> mainServer() { + return getIConfig().getDataPrimDef("mainServer", 219529124321034241L, + id -> dc.getGuildById(Snowflake.of((long) id)) + .onErrorContinue((t, o) -> getLogger().warning("Failed to get guild: " + t)).blockOptional(), + g -> g.map(gg -> gg.getId().asLong()).orElse(0L)); } public ConfigData commandChannel() { @@ -130,7 +133,7 @@ public class DiscordPlugin extends ButtonPlugin { private void handleReady(List event) { try { - mainServer = mainServer().get(); //Shouldn't change afterwards + mainServer = mainServer().get().orElse(null); //Shouldn't change afterwards if (mainServer == null) { if (event.size() == 0) { getLogger().severe("Main server not found! Invite the bot and do /discord reset"); @@ -139,7 +142,7 @@ public class DiscordPlugin extends ButtonPlugin { } mainServer = event.get(0).getGuild(); getLogger().warning("Main server set to first one: " + mainServer.getName()); - mainServer().set(mainServer); //Save in config + mainServer().set(Optional.of(mainServer)); //Save in config } SafeMode = false; DPUtils.disableIfConfigError(null, commandChannel(), modRole()); //Won't disable, just prints the warning here diff --git a/src/main/java/buttondevteam/discordplugin/fun/FunModule.java b/src/main/java/buttondevteam/discordplugin/fun/FunModule.java index 14b8a9b..fa5e7d3 100644 --- a/src/main/java/buttondevteam/discordplugin/fun/FunModule.java +++ b/src/main/java/buttondevteam/discordplugin/fun/FunModule.java @@ -108,7 +108,7 @@ public class FunModule extends Component implements Listener { if (usableServerReadyStrings.size() == 0) fm.createUsableServerReadyStrings(); next = usableServerReadyStrings.remove(serverReadyRandom.nextInt(usableServerReadyStrings.size())); - DPUtils.reply(message, null, serverReadyStrings[next]).subscribe(); + DPUtils.reply(message, null, fm.serverReadyAnswers().get().get(next)).subscribe(); return false; //Still process it as a command/mcchat if needed } return false;