diff --git a/src/de/steamwar/bungeecore/BungeeCore.java b/src/de/steamwar/bungeecore/BungeeCore.java index 8a457e2..76a9c0b 100644 --- a/src/de/steamwar/bungeecore/BungeeCore.java +++ b/src/de/steamwar/bungeecore/BungeeCore.java @@ -31,6 +31,7 @@ import de.steamwar.bungeecore.listeners.mods.WorldDownloader; import de.steamwar.bungeecore.sql.SQL; import de.steamwar.bungeecore.sql.SteamwarUser; import de.steamwar.bungeecore.sql.Team; +import net.dv8tion.jda.api.JDA; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.ProxyServer; @@ -157,6 +158,12 @@ public class BungeeCore extends Plugin { public void onDisable(){ ErrorLogger.stop(); SQL.close(); + SteamwarDiscordBot.instance().getJda().shutdownNow(); + try { + SteamwarDiscordBot.instance().getJda().awaitStatus(JDA.Status.SHUTDOWN); + } catch (Exception e) { + // Ignored + } } public static BungeeCore get() { diff --git a/src/de/steamwar/bungeecore/bot/AuthManager.java b/src/de/steamwar/bungeecore/bot/AuthManager.java index d574c46..e6cfa15 100644 --- a/src/de/steamwar/bungeecore/bot/AuthManager.java +++ b/src/de/steamwar/bungeecore/bot/AuthManager.java @@ -67,7 +67,11 @@ public class AuthManager { member.getUser().openPrivateChannel().complete().sendMessage(builder.build()).complete(); if(member.getNickname() == null) { - member.getGuild().modifyNickname(member, user.getUserName()).complete(); + try { + member.getGuild().modifyNickname(member, user.getUserName()).complete(); + } catch (Exception e) { + // Ignored + } } TOKENS.remove(code); return member; diff --git a/src/de/steamwar/bungeecore/bot/util/DiscordRanks.java b/src/de/steamwar/bungeecore/bot/util/DiscordRanks.java index 9b976ce..dedf0a5 100644 --- a/src/de/steamwar/bungeecore/bot/util/DiscordRanks.java +++ b/src/de/steamwar/bungeecore/bot/util/DiscordRanks.java @@ -60,7 +60,7 @@ public class DiscordRanks { guild.removeRoleFromMember(member, role).complete(); } - if (!needed.isEmpty()) { + if (needed != null && !needed.isEmpty()) { guild.addRoleToMember(member, guild.getRoleById(needed)).complete(); } }