Browse Source
[commands] Correct concurrency never releasing during prepare call
pull/6218/head
Dan Hess
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
12 additions and
7 deletions
-
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. |
|
|
|