diff options
author | 2022-04-21 22:12:25 +0100 | |
---|---|---|
committer | 2022-04-21 22:12:25 +0100 | |
commit | d31a66d0d34cee0b7046eb2c8062f7a2c2539bc6 (patch) | |
tree | c5ee4d8a61d624d4291f92ea2f47db46fec9fa6d | |
parent | Bump bot-core (diff) | |
parent | Merge pull request #2134 from novialriptide/0s-slowmode (diff) |
Merge branch 'main' into bump-bot-core
-rw-r--r-- | bot/exts/moderation/slowmode.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bot/exts/moderation/slowmode.py b/bot/exts/moderation/slowmode.py index 1be568a56..92d984d32 100644 --- a/bot/exts/moderation/slowmode.py +++ b/bot/exts/moderation/slowmode.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import Literal, Optional, Union from dateutil.relativedelta import relativedelta from discord import TextChannel @@ -44,7 +44,12 @@ class Slowmode(Cog): await ctx.send(f'The slowmode delay for {channel.mention} is {humanized_delay}.') @slowmode_group.command(name='set', aliases=['s']) - async def set_slowmode(self, ctx: Context, channel: Optional[TextChannel], delay: DurationDelta) -> None: + async def set_slowmode( + self, + ctx: Context, + channel: Optional[TextChannel], + delay: Union[DurationDelta, Literal["0s", "0seconds"]], + ) -> None: """Set the slowmode delay for a text channel.""" # Use the channel this command was invoked in if one was not given if channel is None: @@ -52,8 +57,10 @@ class Slowmode(Cog): # Convert `dateutil.relativedelta.relativedelta` to `datetime.timedelta` # Must do this to get the delta in a particular unit of time - slowmode_delay = time.relativedelta_to_timedelta(delay).total_seconds() + if isinstance(delay, str): + delay = relativedelta(seconds=0) + slowmode_delay = time.relativedelta_to_timedelta(delay).total_seconds() humanized_delay = time.humanize_delta(delay) # Ensure the delay is within discord's limits |