aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar D0rs4n <[email protected]>2021-08-01 18:53:04 +0200
committerGravatar D0rs4n <[email protected]>2021-08-01 18:53:04 +0200
commit3c91cfb852de5e4d01e8e1778e366ddc59e57f0f (patch)
tree61a7ab5e387809ec1225ce45f1962e5c987a82d3
parentUpdate join_role_stats, add new custom error (diff)
Update join_role_stats and NonExistentError to be clear
-rw-r--r--bot/errors.py3
-rw-r--r--bot/exts/info/information.py13
2 files changed, 9 insertions, 7 deletions
diff --git a/bot/errors.py b/bot/errors.py
index ce2371f56..69c588f4a 100644
--- a/bot/errors.py
+++ b/bot/errors.py
@@ -52,4 +52,5 @@ class NonExistentRoleError(ValueError):
"""
def __init__(self, role_id: int):
- super().__init__(f"Could not fetch data for role {role_id}")
+ self.role_id = role_id
+ super().__init__(f"Could not fetch data for role {self.role_id}")
diff --git a/bot/exts/info/information.py b/bot/exts/info/information.py
index 78a9b2122..62fde5473 100644
--- a/bot/exts/info/information.py
+++ b/bot/exts/info/information.py
@@ -47,10 +47,10 @@ class Information(Cog):
"""Return a dictionary with the number of `members` of each role given, and the `name` for this joined group."""
members = []
for role_id in role_ids:
- if (role := guild.get_role(role_id)) is None:
- raise NonExistentRoleError(role_id)
+ if (role := guild.get_role(role_id)) is not None:
+ members.append(role.members)
else:
- members += role.members
+ raise NonExistentRoleError(role_id)
return {name: len(set(members))}
@staticmethod
@@ -60,10 +60,11 @@ class Information(Cog):
constants.Roles.owners, constants.Roles.contributors]
roles = []
for role_id in role_ids:
- if (role := guild.get_role(role_id)) is None:
- raise NonExistentRoleError(role_id)
- else:
+ if (role := guild.get_role(role_id)) is not None:
roles.append(role)
+ else:
+ raise NonExistentRoleError(role_id)
+
role_stats = {role.name.title(): len(role.members) for role in roles}
role_stats.update(
**Information.join_role_stats([constants.Roles.project_leads, constants.Roles.domain_leads], "Leads", guild)