Check for role name/ID depending on config

This commit is contained in:
Joe Shimell 2021-03-18 13:58:32 +00:00
parent 0497d2d8c8
commit b19c8b8247
1 changed files with 66 additions and 14 deletions

View File

@ -1128,6 +1128,16 @@ public class DiscordClient extends ListenerAdapter
// Check if removed roles contain a limited-add role
for(Role role:removedRoles)
{
if(DiscordWhitelister.useIdForRoles)
{
if(Arrays.asList(allowedToAddLimitedRoles).contains(role.getId()))
{
limitedRoleRemoved = true;
break;
}
}
else
{
if(Arrays.asList(allowedToAddLimitedRoles).contains(role.getName()))
{
@ -1135,6 +1145,7 @@ public class DiscordClient extends ListenerAdapter
break;
}
}
}
if(!limitedRoleRemoved)
return;
@ -1148,6 +1159,16 @@ public class DiscordClient extends ListenerAdapter
{
List<Role> roles = member.getRoles();
for(Role role:roles)
{
if(DiscordWhitelister.useIdForRoles)
{
if(Arrays.asList(combinedRoles).contains(role.getId()))
{
rolesRemaining = true;
break;
}
}
else
{
if(Arrays.asList(combinedRoles).contains(role.getName()))
{
@ -1157,6 +1178,7 @@ public class DiscordClient extends ListenerAdapter
}
}
}
}
if(!rolesRemaining)
{
@ -1201,9 +1223,17 @@ public class DiscordClient extends ListenerAdapter
for(Role r : e.getMember().getRoles())
{
// required role found, no need to proceed
if(DiscordWhitelister.useIdForRoles)
{
if(r.getId().equals(roleToCheck))
return;
}
else
{
if(r.getName().equals(roleToCheck))
return;
}
}
DiscordWhitelister.getPluginLogger().info(nameForLogger + " does not have the required " +
"role (" + roleToCheck + "). Attempting to remove their whitelisted entries...");
@ -1286,6 +1316,16 @@ public class DiscordClient extends ListenerAdapter
{
List<Role> roles = member.getRoles();
for (Role role : roles)
{
if(DiscordWhitelister.useIdForRoles)
{
if (Arrays.asList(combinedRoles).contains(role.getId()))
{
rolesRemaining = true;
break;
}
}
else
{
if (Arrays.asList(combinedRoles).contains(role.getName()))
{
@ -1295,6 +1335,7 @@ public class DiscordClient extends ListenerAdapter
}
}
}
}
if (!rolesRemaining)
{
@ -1358,6 +1399,16 @@ public class DiscordClient extends ListenerAdapter
if (member != null)
{
for (Role role : member.getRoles())
{
if(DiscordWhitelister.useIdForRoles)
{
if (role.getId().equals(roleToCheck))
{
requiredRole = true;
break;
}
}
else
{
if (role.getName().equals(roleToCheck))
{
@ -1367,6 +1418,7 @@ public class DiscordClient extends ListenerAdapter
}
}
}
}
if (!requiredRole)
{