From 7a1102ccf0034827eed3d4088b96dd0dd29caf92 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sun, 14 Apr 2019 17:11:16 -0400 Subject: [PATCH] [commands] Use message creation as the reference time in cooldowns --- discord/ext/commands/core.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 8475be851..bde1869fd 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -28,6 +28,7 @@ import asyncio import functools import inspect import typing +import datetime import discord @@ -639,7 +640,8 @@ class Command(_BaseCommand): def _prepare_cooldowns(self, ctx): if self._buckets.valid: bucket = self._buckets.get_bucket(ctx.message) - retry_after = bucket.update_rate_limit() + current = ctx.message.created_at.replace(tzinfo=datetime.timezone.utc).timestamp() + retry_after = bucket.update_rate_limit(current) if retry_after: raise CommandOnCooldown(bucket, retry_after)