aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar mbaruh <[email protected]>2021-08-29 13:53:06 +0300
committerGravatar mbaruh <[email protected]>2021-08-29 13:53:06 +0300
commitec8f06312d756325fff31d7735ea56465440ed57 (patch)
tree3fbbcd50bc524a0f4834c023d7168dbf1975af6a
parentRestrict until and between to a single channel (diff)
Use a cog-wide role check
-rw-r--r--bot/exts/moderation/clean.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/bot/exts/moderation/clean.py b/bot/exts/moderation/clean.py
index 6c7f3c22d..950c0c82e 100644
--- a/bot/exts/moderation/clean.py
+++ b/bot/exts/moderation/clean.py
@@ -367,13 +367,11 @@ class Clean(Cog):
# region: Commands
@group(invoke_without_command=True, name="clean", aliases=["clear", "purge"])
- @has_any_role(*MODERATION_ROLES)
async def clean_group(self, ctx: Context) -> None:
"""Commands for cleaning messages in channels."""
await ctx.send_help(ctx.command)
@clean_group.command(name="user", aliases=["users"])
- @has_any_role(*MODERATION_ROLES)
async def clean_user(
self,
ctx: Context,
@@ -387,7 +385,6 @@ class Clean(Cog):
await self._clean_messages(traverse, ctx, user=user, channels=channels, use_cache=use_cache)
@clean_group.command(name="all", aliases=["everything"])
- @has_any_role(*MODERATION_ROLES)
async def clean_all(
self,
ctx: Context,
@@ -400,7 +397,6 @@ class Clean(Cog):
await self._clean_messages(traverse, ctx, channels=channels, use_cache=use_cache)
@clean_group.command(name="bots", aliases=["bot"])
- @has_any_role(*MODERATION_ROLES)
async def clean_bots(
self,
ctx: Context,
@@ -413,7 +409,6 @@ class Clean(Cog):
await self._clean_messages(traverse, ctx, bots_only=True, channels=channels, use_cache=use_cache)
@clean_group.command(name="regex", aliases=["word", "expression", "pattern"])
- @has_any_role(*MODERATION_ROLES)
async def clean_regex(
self,
ctx: Context,
@@ -427,7 +422,6 @@ class Clean(Cog):
await self._clean_messages(traverse, ctx, regex=regex, channels=channels, use_cache=use_cache)
@clean_group.command(name="until")
- @has_any_role(*MODERATION_ROLES)
async def clean_until(
self,
ctx: Context,
@@ -448,7 +442,6 @@ class Clean(Cog):
)
@clean_group.command(name="between", aliases=["after-until", "from-to"])
- @has_any_role(*MODERATION_ROLES)
async def clean_between(
self,
ctx: Context,
@@ -474,7 +467,6 @@ class Clean(Cog):
)
@clean_group.command(name="stop", aliases=["cancel", "abort"])
- @has_any_role(*MODERATION_ROLES)
async def clean_cancel(self, ctx: Context) -> None:
"""If there is an ongoing cleaning process, attempt to immediately cancel it."""
self.cleaning = False
@@ -490,6 +482,10 @@ class Clean(Cog):
# endregion
+ async def cog_check(self, ctx: Context) -> bool:
+ """Only allow moderators to invoke the commands in this cog."""
+ return await has_any_role(*MODERATION_ROLES).predicate(ctx)
+
def setup(bot: Bot) -> None:
"""Load the Clean cog."""