Skip to content

Commit

Permalink
Check for role name/ID depending on config
Browse files Browse the repository at this point in the history
  • Loading branch information
Shimell committed Mar 18, 2021
1 parent 0497d2d commit b19c8b8
Showing 1 changed file with 66 additions and 14 deletions.
80 changes: 66 additions & 14 deletions src/main/java/uk/co/angrybee/joe/DiscordClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -1129,10 +1129,21 @@ private static void CheckForRequiredRole(GuildMemberRoleRemoveEvent e)
// Check if removed roles contain a limited-add role
for(Role role:removedRoles)
{
if(Arrays.asList(allowedToAddLimitedRoles).contains(role.getName()))
if(DiscordWhitelister.useIdForRoles)
{
limitedRoleRemoved = true;
break;
if(Arrays.asList(allowedToAddLimitedRoles).contains(role.getId()))
{
limitedRoleRemoved = true;
break;
}
}
else
{
if(Arrays.asList(allowedToAddLimitedRoles).contains(role.getName()))
{
limitedRoleRemoved = true;
break;
}
}
}

Expand All @@ -1149,10 +1160,21 @@ private static void CheckForRequiredRole(GuildMemberRoleRemoveEvent e)
List<Role> roles = member.getRoles();
for(Role role:roles)
{
if(Arrays.asList(combinedRoles).contains(role.getName()))
if(DiscordWhitelister.useIdForRoles)
{
if(Arrays.asList(combinedRoles).contains(role.getId()))
{
rolesRemaining = true;
break;
}
}
else
{
rolesRemaining = true;
break;
if(Arrays.asList(combinedRoles).contains(role.getName()))
{
rolesRemaining = true;
break;
}
}
}
}
Expand Down Expand Up @@ -1201,8 +1223,16 @@ private static void CheckForRequiredRole(GuildMemberRoleRemoveEvent e)
for(Role r : e.getMember().getRoles())
{
// required role found, no need to proceed
if(r.getName().equals(roleToCheck))
return;
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 " +
Expand Down Expand Up @@ -1287,10 +1317,21 @@ public static void RequiredRoleStartupCheck()
List<Role> roles = member.getRoles();
for (Role role : roles)
{
if (Arrays.asList(combinedRoles).contains(role.getName()))
if(DiscordWhitelister.useIdForRoles)
{
if (Arrays.asList(combinedRoles).contains(role.getId()))
{
rolesRemaining = true;
break;
}
}
else
{
rolesRemaining = true;
break;
if (Arrays.asList(combinedRoles).contains(role.getName()))
{
rolesRemaining = true;
break;
}
}
}
}
Expand Down Expand Up @@ -1359,10 +1400,21 @@ public static void RequiredRoleStartupCheck()
{
for (Role role : member.getRoles())
{
if (role.getName().equals(roleToCheck))
if(DiscordWhitelister.useIdForRoles)
{
requiredRole = true;
break;
if (role.getId().equals(roleToCheck))
{
requiredRole = true;
break;
}
}
else
{
if (role.getName().equals(roleToCheck))
{
requiredRole = true;
break;
}
}
}
}
Expand Down

0 comments on commit b19c8b8

Please sign in to comment.