From c1ed2eaab047cb924be493f6820e74fc21a5c5fc Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Thu, 22 Jun 2023 22:25:39 +0200 Subject: [PATCH] Fix Whitelist Role assignment --- .../core/accounts/MinecraftAccount.java | 22 +++++++++++++++---- .../sdlink/core/util/SystemUtils.java | 4 ++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java index c79f819..a14d8a8 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java +++ b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java @@ -10,6 +10,7 @@ import com.hypherionmc.sdlink.core.discord.BotController; import com.hypherionmc.sdlink.core.managers.RoleManager; import com.hypherionmc.sdlink.core.messaging.Result; import com.hypherionmc.sdlink.core.services.SDLinkPlatform; +import com.hypherionmc.sdlink.core.util.SystemUtils; import com.mojang.authlib.GameProfile; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; @@ -144,8 +145,12 @@ public class MinecraftAccount { try { member.modifyNickname(nickname).queue(); - if (RoleManager.getLinkedRole() != null) { - guild.addRoleToMember(UserSnowflake.fromId(member.getId()), RoleManager.getLinkedRole()).queue(); + try { + if (RoleManager.getLinkedRole() != null) { + guild.addRoleToMember(UserSnowflake.fromId(member.getId()), RoleManager.getLinkedRole()).queue(); + } + } catch (Exception e) { + e.printStackTrace(); } } catch (Exception e) { if (SDLinkConfig.INSTANCE.generalConfig.debugging) { @@ -216,9 +221,18 @@ public class MinecraftAccount { if (SDLinkConfig.INSTANCE.whitelistingAndLinking.whitelisting.linkedWhitelist) { this.linkAccount(member, guild); } - } - return Result.success("Your account has been whitelisted"); + try { + if (RoleManager.getWhitelistedRole() != null) { + guild.addRoleToMember(member, RoleManager.getWhitelistedRole()).queue(); + } + } catch (Exception e) { + e.printStackTrace(); + } + return Result.success("Your account has been whitelisted"); + } else { + return Result.error("Account is already whitelisted on the Minecraft server"); + } } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/com/hypherionmc/sdlink/core/util/SystemUtils.java b/src/main/java/com/hypherionmc/sdlink/core/util/SystemUtils.java index c59b188..db67ffe 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/util/SystemUtils.java +++ b/src/main/java/com/hypherionmc/sdlink/core/util/SystemUtils.java @@ -4,6 +4,10 @@ */ package com.hypherionmc.sdlink.core.util; +import com.hypherionmc.sdlink.core.managers.RoleManager; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Member; + import java.text.CharacterIterator; import java.text.StringCharacterIterator; import java.util.Arrays;