[commands] max_concurrency comes before cooldowns

Fix #6172
This commit is contained in:
Rapptz 2020-12-17 22:17:49 -05:00
parent 3fea697ba5
commit f9dd200314

View File

@ -778,6 +778,9 @@ class Command(_BaseCommand):
if not await self.can_run(ctx):
raise CheckFailure('The check functions for command {0.qualified_name} failed.'.format(self))
if self._max_concurrency is not None:
await self._max_concurrency.acquire(ctx)
if self.cooldown_after_parsing:
await self._parse_arguments(ctx)
self._prepare_cooldowns(ctx)
@ -785,9 +788,6 @@ class Command(_BaseCommand):
self._prepare_cooldowns(ctx)
await self._parse_arguments(ctx)
if self._max_concurrency is not None:
await self._max_concurrency.acquire(ctx)
await self.call_before_hooks(ctx)
def is_on_cooldown(self, ctx):