fix: exceptions on first launch
fix: !clearname info not showing refactoring and code cleaning
This commit is contained in:
parent
b19c8b8247
commit
be0938689f
File diff suppressed because it is too large
Load Diff
|
@ -66,6 +66,7 @@ public class DiscordWhitelister extends JavaPlugin
|
||||||
else if(initSuccess == 1)
|
else if(initSuccess == 1)
|
||||||
{
|
{
|
||||||
pluginLogger.severe("Discord Client failed to initialize, please check if your config file is valid");
|
pluginLogger.severe("Discord Client failed to initialize, please check if your config file is valid");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for leavers if enabled
|
// Check for leavers if enabled
|
||||||
|
@ -117,8 +118,8 @@ public class DiscordWhitelister extends JavaPlugin
|
||||||
useInGameAddRemoves = MainConfig.getMainConfig().getBoolean("add-in-game-adds-and-removes-to-list");
|
useInGameAddRemoves = MainConfig.getMainConfig().getBoolean("add-in-game-adds-and-removes-to-list");
|
||||||
useOnBanEvents = MainConfig.getMainConfig().getBoolean("use-on-ban-events");
|
useOnBanEvents = MainConfig.getMainConfig().getBoolean("use-on-ban-events");
|
||||||
removeUnnecessaryMessages = MainConfig.getMainConfig().getBoolean("remove-unnecessary-messages-from-whitelist-channel");
|
removeUnnecessaryMessages = MainConfig.getMainConfig().getBoolean("remove-unnecessary-messages-from-whitelist-channel");
|
||||||
|
|
||||||
removeMessageWaitTime = MainConfig.getMainConfig().getInt("seconds-to-remove-message-from-whitelist-channel");
|
removeMessageWaitTime = MainConfig.getMainConfig().getInt("seconds-to-remove-message-from-whitelist-channel");
|
||||||
|
useOnWhitelistCommands = MainConfig.getMainConfig().getBoolean("use-on-whitelist-commands");
|
||||||
|
|
||||||
// Check for LuckPerms first
|
// Check for LuckPerms first
|
||||||
if(MainConfig.getMainConfig().getBoolean("assign-perms-with-luck-perms"))
|
if(MainConfig.getMainConfig().getBoolean("assign-perms-with-luck-perms"))
|
||||||
|
@ -148,9 +149,6 @@ public class DiscordWhitelister extends JavaPlugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(MainConfig.getMainConfig().getBoolean("use-on-whitelist-commands"))
|
|
||||||
useOnWhitelistCommands = true;
|
|
||||||
|
|
||||||
// TODO: remove in favour of split versions
|
// TODO: remove in favour of split versions
|
||||||
DiscordClient.customWhitelistAddPrefix = CustomPrefixConfig.getCustomPrefixesConfig().getString("whitelist-add-prefix").toLowerCase();
|
DiscordClient.customWhitelistAddPrefix = CustomPrefixConfig.getCustomPrefixesConfig().getString("whitelist-add-prefix").toLowerCase();
|
||||||
DiscordClient.customWhitelistRemovePrefix = CustomPrefixConfig.getCustomPrefixesConfig().getString("whitelist-remove-prefix").toLowerCase();
|
DiscordClient.customWhitelistRemovePrefix = CustomPrefixConfig.getCustomPrefixesConfig().getString("whitelist-remove-prefix").toLowerCase();
|
||||||
|
|
|
@ -54,6 +54,7 @@ public class CommandAdd
|
||||||
// Permission check
|
// Permission check
|
||||||
if (!(authorPermissions.isUserCanAddRemove() || authorPermissions.isUserCanAdd() || DiscordClient.limitedWhitelistEnabled && authorPermissions.isUserHasLimitedAdd()))
|
if (!(authorPermissions.isUserCanAddRemove() || authorPermissions.isUserCanAdd() || DiscordClient.limitedWhitelistEnabled && authorPermissions.isUserHasLimitedAdd()))
|
||||||
{
|
{
|
||||||
|
//todo: add a message to notify user
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.CreateInsufficientPermsMessage(author));
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.CreateInsufficientPermsMessage(author));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -223,7 +224,7 @@ public class CommandAdd
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == DiscordClient.whitelistAddPrefix.length
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == DiscordClient.whitelistAddPrefix.length
|
||||||
|| finalNameToAdd.isEmpty())
|
|| finalNameToAdd.isEmpty())
|
||||||
{
|
{
|
||||||
if(!MainConfig.getMainConfig().getBoolean("hide-info-command-replies"))
|
if(!DiscordClient.hideInfoCommandReplies)
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.addCommandInfo);
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.addCommandInfo);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -15,48 +15,36 @@ import uk.co.angrybee.joe.stores.UserList;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class CommandWhoIs
|
public class CommandWhoIs {
|
||||||
{
|
public static void ExecuteCommand(MessageReceivedEvent messageReceivedEvent, String[] splitMessage) {
|
||||||
public static void ExecuteCommand(MessageReceivedEvent messageReceivedEvent, String[] splitMessage)
|
|
||||||
{
|
|
||||||
AuthorPermissions authorPermissions = new AuthorPermissions(messageReceivedEvent);
|
AuthorPermissions authorPermissions = new AuthorPermissions(messageReceivedEvent);
|
||||||
User author = messageReceivedEvent.getAuthor();
|
User author = messageReceivedEvent.getAuthor();
|
||||||
TextChannel channel = messageReceivedEvent.getTextChannel();
|
TextChannel channel = messageReceivedEvent.getTextChannel();
|
||||||
|
|
||||||
if (!authorPermissions.isUserCanAddRemove() && !authorPermissions.isUserCanAdd())
|
if (!authorPermissions.isUserCanAddRemove() && !authorPermissions.isUserCanAdd()) {
|
||||||
{
|
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.CreateInsufficientPermsMessage(author));
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.CreateInsufficientPermsMessage(author));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO make 1 function like this that multiple commands can call on
|
// TODO make 1 function like this that multiple commands can call on
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.customWhoIsPrefix.length + 1)
|
if (DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.customWhoIsPrefix.length + 1)
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.whitelistWhoIsPrefix.length + 1))
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.whitelistWhoIsPrefix.length + 1)) {
|
||||||
{
|
|
||||||
int amountOfArgs = 0;
|
int amountOfArgs = 0;
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes())
|
if (DiscordWhitelister.getUseCustomPrefixes())
|
||||||
amountOfArgs = splitMessage.length - (DiscordClient.customWhoIsPrefix.length);
|
amountOfArgs = splitMessage.length - (DiscordClient.customWhoIsPrefix.length);
|
||||||
else
|
else
|
||||||
amountOfArgs = splitMessage.length - (DiscordClient.whitelistWhoIsPrefix.length);
|
amountOfArgs = splitMessage.length - (DiscordClient.whitelistWhoIsPrefix.length);
|
||||||
|
|
||||||
StringBuilder exampleCommand = new StringBuilder();
|
StringBuilder exampleCommand = new StringBuilder();
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes())
|
if (DiscordWhitelister.getUseCustomPrefixes()) {
|
||||||
{
|
for (int i = 0; i < DiscordClient.customWhoIsPrefix.length; i++) {
|
||||||
for(int i = 0; i < DiscordClient.customWhoIsPrefix.length; i++)
|
|
||||||
{
|
|
||||||
exampleCommand.append(DiscordClient.customWhoIsPrefix[i]).append(" ");
|
exampleCommand.append(DiscordClient.customWhoIsPrefix[i]).append(" ");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
for (int i = 0; i < DiscordClient.whitelistWhoIsPrefix.length; i++) {
|
||||||
{
|
|
||||||
for(int i = 0; i < DiscordClient.whitelistWhoIsPrefix.length; i++)
|
|
||||||
{
|
|
||||||
exampleCommand.append(DiscordClient.whitelistWhoIsPrefix[i]).append(" ");
|
exampleCommand.append(DiscordClient.whitelistWhoIsPrefix[i]).append(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,83 +59,60 @@ public class CommandWhoIs
|
||||||
}
|
}
|
||||||
|
|
||||||
String nameToCheck = "";
|
String nameToCheck = "";
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.customWhoIsPrefix.length + 1)
|
if (DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.customWhoIsPrefix.length + 1)
|
||||||
nameToCheck = splitMessage[DiscordClient.customWhoIsPrefix.length];
|
nameToCheck = splitMessage[DiscordClient.customWhoIsPrefix.length];
|
||||||
|
|
||||||
if(!DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.whitelistWhoIsPrefix.length + 1)
|
if (!DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.whitelistWhoIsPrefix.length + 1)
|
||||||
nameToCheck = splitMessage[DiscordClient.whitelistWhoIsPrefix.length];
|
nameToCheck = splitMessage[DiscordClient.whitelistWhoIsPrefix.length];
|
||||||
|
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.customWhoIsPrefix.length
|
if (DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.customWhoIsPrefix.length
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.whitelistWhoIsPrefix.length || nameToCheck.isEmpty())
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.whitelistWhoIsPrefix.length || nameToCheck.isEmpty()) {
|
||||||
{
|
if (!DiscordClient.hideInfoCommandReplies)
|
||||||
if(!MainConfig.getMainConfig().getBoolean("hide-info-command-replies"))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.whoIsInfo);
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, DiscordClient.whoIsInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Boolean idFound = false;
|
boolean idFound = false;
|
||||||
String targetDiscordId = "";
|
|
||||||
List<String> targetWhitelistedPlayers = Collections.emptyList();
|
|
||||||
|
|
||||||
// Find the Discord Id linked to the whitelisted player
|
// Find the Discord Id linked to the whitelisted player
|
||||||
Yaml userYaml = new Yaml();
|
Set<String> keys = UserList.getUserList().getKeys(false);
|
||||||
try
|
for (String discordId : keys) {
|
||||||
{
|
List<?> registeredUsers = UserList.getRegisteredUsers(discordId);
|
||||||
InputStream inputStream = new FileInputStream(UserList.getUserListFile());
|
for (Object mc_name : registeredUsers) {
|
||||||
Map<String, List<String>> userListObject = userYaml.load(inputStream);
|
if (mc_name.equals(nameToCheck)) {
|
||||||
|
String userAsMention = "<@!" + discordId + ">"; // use this in-case the user has left the discord ? over using fetched member
|
||||||
for(Map.Entry<String, List<String>> entry : userListObject.entrySet())
|
StringBuilder usersWhitelistedPlayers = new StringBuilder();
|
||||||
{
|
for (Object targetWhitelistedPlayer : registeredUsers) {
|
||||||
for(int i = 0; i < entry.getValue().size(); i++)
|
if (targetWhitelistedPlayer instanceof String)
|
||||||
{
|
usersWhitelistedPlayers.append("- ").append((String) targetWhitelistedPlayer).append("\n");
|
||||||
if(entry.getValue().get(i).equals(nameToCheck))
|
|
||||||
{
|
|
||||||
targetDiscordId = entry.getKey();
|
|
||||||
targetWhitelistedPlayers = entry.getValue();
|
|
||||||
idFound = true;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EmbedBuilder idFoundMessage = DiscordClient.CreateEmbeddedMessage(("Found account linked to `" + nameToCheck + "`"),
|
||||||
|
(author.getAsMention() + ", the Minecraft username: `" + nameToCheck + "` is linked to " + userAsMention +
|
||||||
|
".\n\n Here is a list of their whitelisted players:\n" + usersWhitelistedPlayers),
|
||||||
|
DiscordClient.EmbedMessageType.SUCCESS);
|
||||||
|
|
||||||
|
User fetchedUser = DiscordClient.javaDiscordAPI.getUserById(discordId);
|
||||||
|
|
||||||
|
if (fetchedUser != null)
|
||||||
|
idFoundMessage.setThumbnail(fetchedUser.getAvatarUrl());
|
||||||
|
else
|
||||||
|
DiscordWhitelister.getPluginLogger().warning("Failed to fetch avatar linked to Discord ID: " + discordId);
|
||||||
|
|
||||||
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, idFoundMessage.build());
|
||||||
|
idFound = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (FileNotFoundException e)
|
if (!idFound) {
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(idFound)
|
|
||||||
{
|
|
||||||
String userAsMention = "<@!" + targetDiscordId + ">"; // use this in-case the user has left the discord ? over using fetched member
|
|
||||||
StringBuilder usersWhitelistedPlayers = new StringBuilder();
|
|
||||||
for (String targetWhitelistedPlayer : targetWhitelistedPlayers)
|
|
||||||
{
|
|
||||||
usersWhitelistedPlayers.append("- ").append(targetWhitelistedPlayer).append("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
EmbedBuilder idFoundMessage = DiscordClient.CreateEmbeddedMessage(("Found account linked to `" + nameToCheck + "`"),
|
|
||||||
(author.getAsMention() + ", the Minecraft username: `" + nameToCheck + "` is linked to " + userAsMention +
|
|
||||||
".\n\n Here is a list of their whitelisted players:\n" + usersWhitelistedPlayers),
|
|
||||||
DiscordClient.EmbedMessageType.SUCCESS);
|
|
||||||
|
|
||||||
User fetchedUser = DiscordClient.javaDiscordAPI.getUserById(targetDiscordId);
|
|
||||||
|
|
||||||
if(fetchedUser != null)
|
|
||||||
idFoundMessage.setThumbnail(fetchedUser.getAvatarUrl());
|
|
||||||
else
|
|
||||||
DiscordWhitelister.getPluginLogger().warning("Failed to fetch avatar linked to Discord ID: " + targetDiscordId);
|
|
||||||
|
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, idFoundMessage.build());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MessageEmbed messageEmbed = DiscordClient.CreateEmbeddedMessage(("Could not find an account linked to `" + nameToCheck + "`"),
|
MessageEmbed messageEmbed = DiscordClient.CreateEmbeddedMessage(("Could not find an account linked to `" + nameToCheck + "`"),
|
||||||
(author.getAsMention() + ", the name: `" + nameToCheck +
|
(author.getAsMention() + ", the name: `" + nameToCheck +
|
||||||
"` could not be found in the users list. Please make sure that the Minecraft name is valid and whitelisted + linked to an ID before."),
|
"` could not be found in the users list. Please make sure that the Minecraft name is valid and whitelisted + linked to an ID before."),
|
||||||
DiscordClient.EmbedMessageType.FAILURE).build();
|
DiscordClient.EmbedMessageType.FAILURE).build();
|
||||||
|
|
||||||
DiscordClient.QueueAndRemoveAfterSeconds(channel, messageEmbed);
|
DiscordClient.QueueAndRemoveAfterSeconds(channel, messageEmbed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,27 +1,21 @@
|
||||||
package uk.co.angrybee.joe.events;
|
package uk.co.angrybee.joe.events;
|
||||||
|
|
||||||
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
import org.yaml.snakeyaml.Yaml;
|
|
||||||
import uk.co.angrybee.joe.configs.MainConfig;
|
import uk.co.angrybee.joe.configs.MainConfig;
|
||||||
import uk.co.angrybee.joe.configs.PermissionsConfig;
|
|
||||||
import uk.co.angrybee.joe.DiscordClient;
|
import uk.co.angrybee.joe.DiscordClient;
|
||||||
import uk.co.angrybee.joe.DiscordWhitelister;
|
import uk.co.angrybee.joe.DiscordWhitelister;
|
||||||
import uk.co.angrybee.joe.stores.InGameRemovedList;
|
import uk.co.angrybee.joe.stores.InGameRemovedList;
|
||||||
import uk.co.angrybee.joe.stores.UserList;
|
import uk.co.angrybee.joe.stores.UserList;
|
||||||
import uk.co.angrybee.joe.stores.WhitelistedPlayers;
|
import uk.co.angrybee.joe.stores.WhitelistedPlayers;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
|
||||||
public class OnBanEvent implements Listener
|
public class OnBanEvent implements Listener
|
||||||
|
@ -94,62 +88,46 @@ public class OnBanEvent implements Listener
|
||||||
if(!WhitelistedPlayers.usingEasyWhitelist && WhitelistedPlayers.CheckForPlayer(banTarget)
|
if(!WhitelistedPlayers.usingEasyWhitelist && WhitelistedPlayers.CheckForPlayer(banTarget)
|
||||||
|| WhitelistedPlayers.usingEasyWhitelist && WhitelistedPlayers.CheckForPlayerEasyWhitelist(banTarget))
|
|| WhitelistedPlayers.usingEasyWhitelist && WhitelistedPlayers.CheckForPlayerEasyWhitelist(banTarget))
|
||||||
{
|
{
|
||||||
Boolean idFound = false;
|
boolean idFound = false;
|
||||||
String targetDiscordId = "";
|
|
||||||
List<String> targetWhitelistedPlayers = Collections.emptyList();
|
|
||||||
|
|
||||||
// Find the Discord Id linked to the whitelisted player
|
// Find the Discord Id linked to the whitelisted player
|
||||||
Yaml userYaml = new Yaml();
|
Set<String> keys = UserList.getUserList().getKeys(false);
|
||||||
|
for (String discordId : keys) {
|
||||||
InputStream inputStream = new FileInputStream(UserList.getUserListFile());
|
List<?> registeredUsers = UserList.getRegisteredUsers(discordId);
|
||||||
|
for (Object mc_name : registeredUsers) {
|
||||||
Map<String, List<String>> userListObject = userYaml.load(inputStream);
|
if(mc_name instanceof String && mc_name.equals(banTarget))
|
||||||
|
|
||||||
for(Map.Entry<String, List<String>> entry : userListObject.entrySet())
|
|
||||||
{
|
|
||||||
for(int i = 0; i < entry.getValue().size(); i++)
|
|
||||||
{
|
|
||||||
if(entry.getValue().get(i).equals(banTarget))
|
|
||||||
{
|
{
|
||||||
// Found the ban target, assign the corresponding Discord id
|
// Found the ban target, assign the corresponding Discord id
|
||||||
targetDiscordId = entry.getKey();
|
// Remove whitelisted players associated with the discord id
|
||||||
targetWhitelistedPlayers = entry.getValue();
|
for (Object targetWhitelistedPlayer : registeredUsers) {
|
||||||
|
if (targetWhitelistedPlayer instanceof String){
|
||||||
|
DiscordClient.UnWhitelist((String) mc_name);
|
||||||
|
DiscordWhitelister.getPluginLogger().info("Removed " + targetWhitelistedPlayer
|
||||||
|
+ " from the whitelist as they were added by Discord Id: " + discordId);
|
||||||
|
|
||||||
|
// Add username to the in-game removed list
|
||||||
|
InGameRemovedList.AddUserToStore((String) targetWhitelistedPlayer, commandCaller.getDisplayName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Remove the users whitelisted players from the list
|
||||||
|
UserList.getUserList().set(discordId, null);
|
||||||
|
|
||||||
|
UserList.SaveStore();
|
||||||
|
|
||||||
|
// Find all servers bot is in, assign & remove roles
|
||||||
|
for(Guild guild: DiscordClient.javaDiscordAPI.getGuilds())
|
||||||
|
{
|
||||||
|
// Remove the whitelisted role(s)
|
||||||
|
DiscordClient.RemoveRolesFromUser(guild, discordId, Arrays.asList(DiscordClient.whitelistedRoleNames));
|
||||||
|
// Add the banned role(s)
|
||||||
|
DiscordClient.AssignRolesToUser(guild, discordId, (List<String>) MainConfig.getMainConfig().get("banned-roles"));
|
||||||
|
}
|
||||||
idFound = true;
|
idFound = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!idFound) {
|
||||||
if(idFound)
|
|
||||||
{
|
|
||||||
// Remove whitelisted players associated with the discord id
|
|
||||||
for(int i = 0; i < targetWhitelistedPlayers.size(); i++)
|
|
||||||
{
|
|
||||||
DiscordClient.UnWhitelist(targetWhitelistedPlayers.get(i));
|
|
||||||
|
|
||||||
DiscordWhitelister.getPluginLogger().info("Removed " + targetWhitelistedPlayers.get(i)
|
|
||||||
+ " from the whitelist as they were added by Discord Id: " + targetDiscordId);
|
|
||||||
|
|
||||||
// Add username to the in-game removed list
|
|
||||||
InGameRemovedList.AddUserToStore(targetWhitelistedPlayers.get(i), commandCaller.getDisplayName());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove the users whitelisted players from the list
|
|
||||||
UserList.getUserList().set(targetDiscordId, null);
|
|
||||||
|
|
||||||
UserList.SaveStore();
|
|
||||||
|
|
||||||
// Find all servers bot is in, assign & remove roles
|
|
||||||
for(int i = 0; i < DiscordClient.javaDiscordAPI.getGuilds().size(); i++)
|
|
||||||
{
|
|
||||||
// Remove the whitelisted role(s)
|
|
||||||
DiscordClient.RemoveRolesFromUser(DiscordClient.javaDiscordAPI.getGuilds().get(i), targetDiscordId, Arrays.asList(DiscordClient.whitelistedRoleNames));
|
|
||||||
// Add the banned role(s)
|
|
||||||
DiscordClient.AssignRolesToUser(DiscordClient.javaDiscordAPI.getGuilds().get(i), targetDiscordId, (List<String>) MainConfig.getMainConfig().get("banned-roles"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DiscordWhitelister.getPluginLogger().warning(banTarget + " does not have a linked Discord Id; cannot assign roles!");
|
DiscordWhitelister.getPluginLogger().warning(banTarget + " does not have a linked Discord Id; cannot assign roles!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue