have exceptions always return role lists as ids

This commit is contained in:
brandons209 2020-08-01 15:58:46 -04:00
parent 9329e2a8de
commit 380356bff5
2 changed files with 8 additions and 8 deletions

View file

@ -895,14 +895,14 @@ class RoleManagement(
except MissingRequirementsException as e:
msg = ""
if e.miss_all:
roles = [r for r in ctx.guild.roles if r in e.miss_all]
roles = [r.name for r in ctx.guild.roles if r.id in e.miss_all]
msg += f"You need all of these roles in order to get this role: {humanize_list(roles)}\n"
if e.miss_any:
roles = [r for r in ctx.guild.roles if r in e.miss_any]
roles = [r.name for r in ctx.guild.roles if r.id in e.miss_any]
msg += f"You need one of these roles in order to get this role: {humanize_list(roles)}\n"
await ctx.send(msg)
except ConflictingRoleException as e:
roles = [r for r in ctx.guild.roles if r in e.conflicts]
roles = [r.name for r in ctx.guild.roles if r.id in e.conflicts]
plural = "are" if len(roles) > 1 else "is"
await ctx.send(
f"You have {humanize_list(roles)}, which you are not allowed to remove and {plural} exclusive to: {role.name}"
@ -965,15 +965,15 @@ class RoleManagement(
except MissingRequirementsException as e:
msg = ""
if e.miss_all:
roles = [r for r in ctx.guild.roles if r in e.miss_all]
roles = [r.name for r in ctx.guild.roles if r.id in e.miss_all]
msg += f"You need all of these roles in order to get this role: {humanize_list(roles)}\n"
if e.miss_any:
roles = [r for r in ctx.guild.roles if r in e.miss_any]
roles = [r.name for r in ctx.guild.roles if r.id in e.miss_any]
msg += f"You need one of these roles in order to get this role: {humanize_list(roles)}\n"
await ctx.send(msg)
except ConflictingRoleException as e:
print(e.conflicts)
roles = [r for r in ctx.guild.roles if r in e.conflicts]
roles = [r.name for r in ctx.guild.roles if r in e.conflicts]
plural = "are" if len(roles) > 1 else "is"
await ctx.send(
f"You have {humanize_list(roles)}, which you are not allowed to remove and {plural} exclusive to: {role.name}"

View file

@ -174,10 +174,10 @@ class UtilMixin(MixinMeta):
ex = []
for ex_roles in ex_data:
ex.extend(ex_roles)
conflicts: List[discord.Role] = [r for r in who.roles if r.id in ex]
conflicts: List[int] = [r.id for r in who.roles if r.id in ex]
for r in conflicts:
if not data.get(r.id, {}).get("self_removable", False):
if not data.get(r, {}).get("self_removable", False):
raise ConflictingRoleException(conflicts=conflicts)
return conflicts