aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2021-02-07 10:09:06 +0300
committerGravatar Hassan Abouelela <[email protected]>2021-02-07 10:09:06 +0300
commit73f11e22deda8bc25a03c75f3b7f380dd7f67f4e (patch)
treee2b27a207a14fa8a2a68febef2adfa265a77279a
parentAdds Whitelist Check To Cheat Sheet (diff)
Adds Category Channels To Error Message
Adds the channels within categories to the failure message of the command whitelist check. Signed-off-by: Hassan Abouelela <[email protected]>
-rw-r--r--bot/utils/decorators.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/bot/utils/decorators.py b/bot/utils/decorators.py
index 66b30b97..c12a15ff 100644
--- a/bot/utils/decorators.py
+++ b/bot/utils/decorators.py
@@ -250,7 +250,18 @@ def whitelist_check(**default_kwargs: t.Container[int]) -> t.Callable[[Context],
)
# Raise error if the check did not pass
- channels = kwargs.get("channels")
+ channels = set(kwargs.get("channels") or {})
+ categories = kwargs.get("categories")
+
+ # Add all whitelisted category channels
+ if categories:
+ for category_id in categories:
+ category = ctx.guild.get_channel(category_id)
+ if category is None:
+ continue
+
+ [channels.add(channel.id) for channel in category.text_channels]
+
if channels:
channels_str = ', '.join(f"<#{c_id}>" for c_id in channels)
message = f"Sorry, but you may only use this command within {channels_str}."