From 671a19a24a620396d403b3c3cb3af2ad5bb13876 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 12 Jun 2019 23:40:43 -0400 Subject: [PATCH] [commands] Ensure cooldowns are properly copied. --- discord/ext/commands/core.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 7eca1b20..ead83c72 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -290,7 +290,7 @@ class Command(_BaseCommand): other._after_invoke = self._after_invoke if self.checks != other.checks: other.checks = self.checks.copy() - if self._buckets != other._buckets: + if self._buckets.valid and not other._buckets.valid: other._buckets = self._buckets.copy() try: other.on_error = self.on_error @@ -305,8 +305,9 @@ class Command(_BaseCommand): def _update_copy(self, kwargs): if kwargs: - copy = self.__class__(self.callback, **kwargs) - copy.update(**self.__original_kwargs__) + kw = kwargs.copy() + kw.update(self.__original_kwargs__) + copy = self.__class__(self.callback, **kw) return self._ensure_assignment_on_copy(copy) else: return self.copy()