aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2019-09-14 20:49:48 +0200
committerGravatar Leon Sandøy <[email protected]>2019-09-14 20:49:48 +0200
commit4178973a5bc53a584ea31540ecf6638f0e8307fc (patch)
treeda699f7566db282f9d8c99b57aeae3675b0b8583
parentImprove handling of long deleted messsages (diff)
Fixes a sneaky genexp exhaustion bug in @without_role.
This problem made the decorator only check the first role that was passed into it, instead of checking all the roles. In other words, the check would fail on *STAFF_ROLES unless you had the Helpers role. Solved by refactoring the genexp to a listcomp.
-rw-r--r--bot/utils/checks.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/bot/utils/checks.py b/bot/utils/checks.py
index 37dc657f7..195edab0f 100644
--- a/bot/utils/checks.py
+++ b/bot/utils/checks.py
@@ -37,7 +37,7 @@ def without_role_check(ctx: Context, *role_ids: int) -> bool:
"This command is restricted by the without_role decorator. Rejecting request.")
return False
- author_roles = (role.id for role in ctx.author.roles)
+ author_roles = [role.id for role in ctx.author.roles]
check = all(role not in author_roles for role in role_ids)
log.trace(f"{ctx.author} tried to call the '{ctx.command.name}' command. "
f"The result of the without_role check was {check}.")