diff options
| author | Rapptz <[email protected]> | 2021-04-05 23:52:28 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2021-04-05 23:52:28 -0400 |
| commit | 9ab58d302dd2fdd3706faf5dddb9629427df9037 (patch) | |
| tree | f27c608589ca5d9e8925e6e3b9f6fdaff0959074 | |
| parent | [commands] Revert conversion code back to how it was originally (diff) | |
| download | discord.py-9ab58d302dd2fdd3706faf5dddb9629427df9037.tar.xz discord.py-9ab58d302dd2fdd3706faf5dddb9629427df9037.zip | |
[commands] Fix classmethod converters not working.
Protocols sure are annoying.
| -rw-r--r-- | discord/ext/commands/core.py | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 07a5d39e..cc48a2ce 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -443,14 +443,11 @@ class Command(_BaseCommand): converter = getattr(converters, converter.__name__ + 'Converter', converter) try: - if inspect.isclass(converter): - if issubclass(converter, converters.Converter): - instance = converter() - return await instance.convert(ctx, argument) + if inspect.isclass(converter) and issubclass(converter, converters.Converter): + if inspect.ismethod(converter.convert): + return await converter.convert(ctx, argument) else: - method = getattr(converter, 'convert', None) - if method is not None and inspect.ismethod(method): - return await method(ctx, argument) + return await converter().convert(ctx, argument) elif isinstance(converter, converters.Converter): return await converter.convert(ctx, argument) except CommandError: |