Browse Source

[commands] Correct concurrency never releasing during prepare call

pull/6218/head
Dan Hess 4 years ago
committed by GitHub
parent
commit
faffc8eeb2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      discord/ext/commands/core.py

19
discord/ext/commands/core.py

@ -781,14 +781,19 @@ class Command(_BaseCommand):
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)
else:
self._prepare_cooldowns(ctx)
await self._parse_arguments(ctx)
try:
if self.cooldown_after_parsing:
await self._parse_arguments(ctx)
self._prepare_cooldowns(ctx)
else:
self._prepare_cooldowns(ctx)
await self._parse_arguments(ctx)
await self.call_before_hooks(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.

Loading…
Cancel
Save