on-whitelist command's %PLAYER% variable is no longer converted to lowercase to fix compatibility with case sensitive commands
This commit is contained in:
parent
e7f86b8417
commit
d6e88aaaf4
|
@ -325,6 +325,7 @@ public class DiscordClient extends ListenerAdapter
|
||||||
|
|
||||||
String messageContents = messageReceivedEvent.getMessage().getContentRaw();
|
String messageContents = messageReceivedEvent.getMessage().getContentRaw();
|
||||||
String[] splitMessage = messageContents.toLowerCase().trim().split(" ");
|
String[] splitMessage = messageContents.toLowerCase().trim().split(" ");
|
||||||
|
String[] splitMessageCaseSensitive = messageContents.trim().split(" ");
|
||||||
|
|
||||||
if(splitMessage.length <= 0)
|
if(splitMessage.length <= 0)
|
||||||
return;
|
return;
|
||||||
|
@ -350,7 +351,7 @@ public class DiscordClient extends ListenerAdapter
|
||||||
if(!DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= whitelistAddPrefix.length && CheckForPrefix(whitelistAddPrefix, splitMessage)
|
if(!DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= whitelistAddPrefix.length && CheckForPrefix(whitelistAddPrefix, splitMessage)
|
||||||
|| DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= customWhitelistAddPrefixSplit.length && CheckForPrefix(customWhitelistAddPrefixSplit, splitMessage))
|
|| DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= customWhitelistAddPrefixSplit.length && CheckForPrefix(customWhitelistAddPrefixSplit, splitMessage))
|
||||||
{
|
{
|
||||||
CommandAdd.ExecuteCommand(messageReceivedEvent, splitMessage);
|
CommandAdd.ExecuteCommand(messageReceivedEvent, splitMessageCaseSensitive);
|
||||||
|
|
||||||
if(DiscordWhitelister.removeUnnecessaryMessages)
|
if(DiscordWhitelister.removeUnnecessaryMessages)
|
||||||
RemoveMessageAfterSeconds(messageReceivedEvent, DiscordWhitelister.removeMessageWaitTime);
|
RemoveMessageAfterSeconds(messageReceivedEvent, DiscordWhitelister.removeMessageWaitTime);
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
public class CommandAdd
|
public class CommandAdd
|
||||||
{
|
{
|
||||||
public static void ExecuteCommand(MessageReceivedEvent messageReceivedEvent, String[] splitMessage)
|
public static void ExecuteCommand(MessageReceivedEvent messageReceivedEvent, String[] splitMessageCaseSensitive)
|
||||||
{
|
{
|
||||||
AuthorPermissions authorPermissions = new AuthorPermissions(messageReceivedEvent);
|
AuthorPermissions authorPermissions = new AuthorPermissions(messageReceivedEvent);
|
||||||
User author = messageReceivedEvent.getAuthor();
|
User author = messageReceivedEvent.getAuthor();
|
||||||
|
@ -82,14 +82,14 @@ public class CommandAdd
|
||||||
|
|
||||||
if (authorPermissions.isUserCanAddRemove() || authorPermissions.isUserCanAdd() || DiscordClient.limitedWhitelistEnabled && authorPermissions.isUserHasLimitedAdd())
|
if (authorPermissions.isUserCanAddRemove() || authorPermissions.isUserCanAdd() || DiscordClient.limitedWhitelistEnabled && authorPermissions.isUserHasLimitedAdd())
|
||||||
{
|
{
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.customWhitelistAddPrefixSplit.length + 2)
|
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length > (DiscordClient.customWhitelistAddPrefixSplit.length + 2)
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length > (DiscordClient.whitelistAddPrefix.length + 2))
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length > (DiscordClient.whitelistAddPrefix.length + 2))
|
||||||
{
|
{
|
||||||
int amountOfArgs = 0;
|
int amountOfArgs = 0;
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes())
|
if(DiscordWhitelister.getUseCustomPrefixes())
|
||||||
amountOfArgs = splitMessage.length - (DiscordClient.customWhitelistAddPrefixSplit.length);
|
amountOfArgs = splitMessageCaseSensitive.length - (DiscordClient.customWhitelistAddPrefixSplit.length);
|
||||||
else
|
else
|
||||||
amountOfArgs = splitMessage.length - (DiscordClient.whitelistAddPrefix.length);
|
amountOfArgs = splitMessageCaseSensitive.length - (DiscordClient.whitelistAddPrefix.length);
|
||||||
|
|
||||||
StringBuilder exampleCommand = new StringBuilder();
|
StringBuilder exampleCommand = new StringBuilder();
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes())
|
if(DiscordWhitelister.getUseCustomPrefixes())
|
||||||
|
@ -117,15 +117,15 @@ public class CommandAdd
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String nameToAdd = "";
|
String nameToAddCaseSensitive = "";
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.customWhitelistAddPrefixSplit.length + 1)
|
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length >= DiscordClient.customWhitelistAddPrefixSplit.length + 1)
|
||||||
nameToAdd = splitMessage[DiscordClient.customWhitelistAddPrefixSplit.length];
|
nameToAddCaseSensitive = splitMessageCaseSensitive[DiscordClient.customWhitelistAddPrefixSplit.length];
|
||||||
|
|
||||||
if(!DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length >= DiscordClient.whitelistAddPrefix.length + 1)
|
if(!DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length >= DiscordClient.whitelistAddPrefix.length + 1)
|
||||||
nameToAdd = splitMessage[DiscordClient.whitelistAddPrefix.length];
|
nameToAddCaseSensitive = splitMessageCaseSensitive[DiscordClient.whitelistAddPrefix.length];
|
||||||
|
|
||||||
final String finalNameToAdd = nameToAdd;
|
final String finalNameToAdd = nameToAddCaseSensitive;
|
||||||
final char[] finalNameToWhitelistChar = finalNameToAdd.toCharArray();
|
final char[] finalNameToWhitelistChar = finalNameToAdd.toLowerCase().toCharArray(); // Lower case for char check
|
||||||
|
|
||||||
int timesWhitelisted = 0;
|
int timesWhitelisted = 0;
|
||||||
|
|
||||||
|
@ -133,8 +133,8 @@ public class CommandAdd
|
||||||
!authorPermissions.isUserCanAddRemove() && !authorPermissions.isUserCanAdd();
|
!authorPermissions.isUserCanAddRemove() && !authorPermissions.isUserCanAdd();
|
||||||
|
|
||||||
boolean discordIdProvided = false;
|
boolean discordIdProvided = false;
|
||||||
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == (DiscordClient.customWhitelistAddPrefixSplit.length + 2)
|
if(DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == (DiscordClient.customWhitelistAddPrefixSplit.length + 2)
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == (DiscordClient.whitelistAddPrefix.length + 2))
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == (DiscordClient.whitelistAddPrefix.length + 2))
|
||||||
{
|
{
|
||||||
if(onlyHasLimitedAdd)
|
if(onlyHasLimitedAdd)
|
||||||
{
|
{
|
||||||
|
@ -155,7 +155,7 @@ public class CommandAdd
|
||||||
String discordIdStripped = "";
|
String discordIdStripped = "";
|
||||||
if(finalDiscordIdProvided)
|
if(finalDiscordIdProvided)
|
||||||
{
|
{
|
||||||
discordIdStripped = splitMessage[DiscordClient.customWhitelistAddPrefixSplit.length + 1];
|
discordIdStripped = splitMessageCaseSensitive[DiscordClient.customWhitelistAddPrefixSplit.length + 1];
|
||||||
discordIdStripped = discordIdStripped.replaceAll("<@!","");
|
discordIdStripped = discordIdStripped.replaceAll("<@!","");
|
||||||
discordIdStripped = discordIdStripped.replaceAll(">","");
|
discordIdStripped = discordIdStripped.replaceAll(">","");
|
||||||
}
|
}
|
||||||
|
@ -219,8 +219,8 @@ public class CommandAdd
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command would only be executed if the prefix matched so no need to check contents just length
|
// Command would only be executed if the prefix matched so no need to check contents just length
|
||||||
if (DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.customWhitelistAddPrefixSplit.length
|
if (DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == DiscordClient.customWhitelistAddPrefixSplit.length
|
||||||
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessage.length == DiscordClient.whitelistAddPrefix.length
|
|| !DiscordWhitelister.getUseCustomPrefixes() && splitMessageCaseSensitive.length == DiscordClient.whitelistAddPrefix.length
|
||||||
|| finalNameToAdd.isEmpty())
|
|| finalNameToAdd.isEmpty())
|
||||||
{
|
{
|
||||||
if(!MainConfig.getMainConfig().getBoolean("hide-info-command-replies"))
|
if(!MainConfig.getMainConfig().getBoolean("hide-info-command-replies"))
|
||||||
|
@ -338,14 +338,14 @@ public class CommandAdd
|
||||||
if(!DiscordWhitelister.useCustomMessages)
|
if(!DiscordWhitelister.useCustomMessages)
|
||||||
{
|
{
|
||||||
embedBuilderRemovedByStaff = DiscordClient.CreateEmbeddedMessage("This user was previously removed by a staff member",
|
embedBuilderRemovedByStaff = DiscordClient.CreateEmbeddedMessage("This user was previously removed by a staff member",
|
||||||
(author.getAsMention() + ", this user was previously removed by a staff member (<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd) + ">).\n" +
|
(author.getAsMention() + ", this user was previously removed by a staff member (<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd.toLowerCase()) + ">).\n" +
|
||||||
"Please ask a user with higher permissions to add this user.\n"), DiscordClient.EmbedMessageType.FAILURE);
|
"Please ask a user with higher permissions to add this user.\n"), DiscordClient.EmbedMessageType.FAILURE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String customTitle = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-title");
|
String customTitle = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-title");
|
||||||
String customMessage = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed");
|
String customMessage = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed");
|
||||||
String staffMemberMention = "<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd) + ">";
|
String staffMemberMention = "<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd.toLowerCase()) + ">";
|
||||||
|
|
||||||
customMessage = customMessage.replaceAll("\\{Sender}", author.getAsMention());
|
customMessage = customMessage.replaceAll("\\{Sender}", author.getAsMention());
|
||||||
customMessage = customMessage.replaceAll("\\{StaffMember}", staffMemberMention);
|
customMessage = customMessage.replaceAll("\\{StaffMember}", staffMemberMention);
|
||||||
|
@ -359,7 +359,7 @@ public class CommandAdd
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RemovedList.getRemovedPlayers().set(finalNameToAdd, null);
|
RemovedList.getRemovedPlayers().set(finalNameToAdd.toLowerCase(), null);
|
||||||
RemovedList.SaveStore();
|
RemovedList.SaveStore();
|
||||||
|
|
||||||
DiscordWhitelister.getPlugin().getLogger().info(finalNameToAdd + " has been removed from the removed list by " + author.getName() + "(" + author.getId() + ")");
|
DiscordWhitelister.getPlugin().getLogger().info(finalNameToAdd + " has been removed from the removed list by " + author.getName() + "(" + author.getId() + ")");
|
||||||
|
@ -369,7 +369,7 @@ public class CommandAdd
|
||||||
// In-game list check
|
// In-game list check
|
||||||
if(DiscordWhitelister.useInGameAddRemoves)
|
if(DiscordWhitelister.useInGameAddRemoves)
|
||||||
{
|
{
|
||||||
if(InGameRemovedList.CheckStoreForPlayer(finalNameToAdd))
|
if(InGameRemovedList.CheckStoreForPlayer(finalNameToAdd.toLowerCase()))
|
||||||
{
|
{
|
||||||
if(onlyHasLimitedAdd)
|
if(onlyHasLimitedAdd)
|
||||||
{
|
{
|
||||||
|
@ -378,14 +378,14 @@ public class CommandAdd
|
||||||
if(!DiscordWhitelister.useCustomMessages)
|
if(!DiscordWhitelister.useCustomMessages)
|
||||||
{
|
{
|
||||||
embedBuilderRemovedByInGameStaff = DiscordClient.CreateEmbeddedMessage("This user was previously removed by a staff member",
|
embedBuilderRemovedByInGameStaff = DiscordClient.CreateEmbeddedMessage("This user was previously removed by a staff member",
|
||||||
(author.getAsMention() + ", this user was previously removed by a staff member in-game (" + InGameRemovedList.getRemovedPlayers().get(finalNameToAdd) + ").\n" +
|
(author.getAsMention() + ", this user was previously removed by a staff member in-game (" + InGameRemovedList.getRemovedPlayers().get(finalNameToAdd.toLowerCase()) + ").\n" +
|
||||||
"Please ask a user with higher permissions to add this user.\n"), DiscordClient.EmbedMessageType.FAILURE);
|
"Please ask a user with higher permissions to add this user.\n"), DiscordClient.EmbedMessageType.FAILURE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String customTitle = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-in-game-title");
|
String customTitle = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-in-game-title");
|
||||||
String customMessage = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-in-game");
|
String customMessage = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-in-game");
|
||||||
String inGameStaffMember = InGameRemovedList.getRemovedPlayers().getString(finalNameToAdd);
|
String inGameStaffMember = InGameRemovedList.getRemovedPlayers().getString(finalNameToAdd.toLowerCase());
|
||||||
|
|
||||||
customMessage = customMessage.replaceAll("\\{Sender}", author.getAsMention());
|
customMessage = customMessage.replaceAll("\\{Sender}", author.getAsMention());
|
||||||
customMessage = customMessage.replaceAll("\\{StaffMember}", inGameStaffMember);
|
customMessage = customMessage.replaceAll("\\{StaffMember}", inGameStaffMember);
|
||||||
|
@ -400,7 +400,7 @@ public class CommandAdd
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InGameRemovedList.RemoveUserFromStore(finalNameToAdd);
|
InGameRemovedList.RemoveUserFromStore(finalNameToAdd.toLowerCase());
|
||||||
|
|
||||||
DiscordWhitelister.getPlugin().getLogger().info(finalNameToAdd + " has been removed from in-game-removed-list.yml by " + author.getName() + "(" + author.getId() + ")");
|
DiscordWhitelister.getPlugin().getLogger().info(finalNameToAdd + " has been removed from in-game-removed-list.yml by " + author.getName() + "(" + author.getId() + ")");
|
||||||
}
|
}
|
||||||
|
@ -583,11 +583,11 @@ public class CommandAdd
|
||||||
{
|
{
|
||||||
if(!finalDiscordIdProvided)
|
if(!finalDiscordIdProvided)
|
||||||
{
|
{
|
||||||
UserList.addRegisteredUser(author.getId(), finalNameToAdd);
|
UserList.addRegisteredUser(author.getId(), finalNameToAdd.toLowerCase()); // convert to lower case for remove & clearname commands
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserList.addRegisteredUser(suppliedMember.getId(), finalNameToAdd);
|
UserList.addRegisteredUser(suppliedMember.getId(), finalNameToAdd.toLowerCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!finalDiscordIdProvided)
|
if(!finalDiscordIdProvided)
|
||||||
|
|
|
@ -70,6 +70,9 @@ public class RemovedList
|
||||||
// Returns true if the player is in the store/list
|
// Returns true if the player is in the store/list
|
||||||
public static boolean CheckStoreForPlayer(String nameToCheck)
|
public static boolean CheckStoreForPlayer(String nameToCheck)
|
||||||
{
|
{
|
||||||
|
// Removed list is case-insensitive, can change in the future if needed
|
||||||
|
nameToCheck = nameToCheck.toLowerCase();
|
||||||
|
|
||||||
LoadStore();
|
LoadStore();
|
||||||
return removedPlayersConfig.get(nameToCheck) != null;
|
return removedPlayersConfig.get(nameToCheck) != null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue