From 4203e7a5a830ee2a05e9642ef83721d05c9e21f6 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