[commands] Correct concurrency never releasing during prepare call

This commit is contained in:
Dan Hess 2020-12-26 19:58:58 -06:00 committed by GitHub
parent ef67b56fc6
commit faffc8eeb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -781,6 +781,7 @@ class Command(_BaseCommand):
if self._max_concurrency is not None:
await self._max_concurrency.acquire(ctx)
try:
if self.cooldown_after_parsing:
await self._parse_arguments(ctx)
self._prepare_cooldowns(ctx)
@ -789,6 +790,10 @@ class Command(_BaseCommand):
await self._parse_arguments(ctx)
await self.call_before_hooks(ctx)
except:
if self._max_concurrency is not None:
await self._max_concurrency.release(ctx)
raise
def is_on_cooldown(self, ctx):
"""Checks whether the command is currently on cooldown.