From 4205b3f88acf7e95acb341a05f81870c12aeea0d Mon Sep 17 00:00:00 2001 From: Rapptz Date: Tue, 25 Aug 2020 23:15:26 -0400 Subject: [PATCH] [commands] Use edited timestamp if provided for cooldown timing --- discord/ext/commands/core.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 5b0971aef..2153968ce 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -764,7 +764,8 @@ class Command(_BaseCommand): def _prepare_cooldowns(self, ctx): if self._buckets.valid: - current = ctx.message.created_at.replace(tzinfo=datetime.timezone.utc).timestamp() + dt = ctx.message.edited_at or ctx.message.created_at + current = dt.replace(tzinfo=datetime.timezone.utc).timestamp() bucket = self._buckets.get_bucket(ctx.message, current) retry_after = bucket.update_rate_limit(current) if retry_after: @@ -805,7 +806,8 @@ class Command(_BaseCommand): return False bucket = self._buckets.get_bucket(ctx.message) - current = ctx.message.created_at.replace(tzinfo=datetime.timezone.utc).timestamp() + dt = ctx.message.edited_at or ctx.message.created_at + current = dt.replace(tzinfo=datetime.timezone.utc).timestamp() return bucket.get_tokens(current) == 0 def reset_cooldown(self, ctx): @@ -838,7 +840,8 @@ class Command(_BaseCommand): """ if self._buckets.valid: bucket = self._buckets.get_bucket(ctx.message) - current = ctx.message.created_at.replace(tzinfo=datetime.timezone.utc).timestamp() + dt = ctx.message.edited_at or ctx.message.created_at + current = dt.replace(tzinfo=datetime.timezone.utc).timestamp() return bucket.get_retry_after(current) return 0.0