diff options
| author | Rapptz <[email protected]> | 2021-04-05 23:24:47 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2021-04-05 23:24:47 -0400 |
| commit | ee5bb07c0280cc860c178ce1aefcab528a02d801 (patch) | |
| tree | 111410736499b9653b3298534ac06889f87af462 | |
| parent | [commands] Fix AttributeError for classes missing convert attribute (diff) | |
| download | discord.py-ee5bb07c0280cc860c178ce1aefcab528a02d801.tar.xz discord.py-ee5bb07c0280cc860c178ce1aefcab528a02d801.zip | |
[commands] Revert conversion code back to how it was originally
| -rw-r--r-- | discord/ext/commands/core.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index bb630d3b..07a5d39e 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -444,14 +444,13 @@ class Command(_BaseCommand): try: if inspect.isclass(converter): - if inspect.ismethod(getattr(converter, 'convert', None)): - if converter.convert.__self__ is converter: - # class method - func = converter.convert - else: - # instance method - func = converter().convert - return await func.convert(ctx, argument) + if issubclass(converter, converters.Converter): + instance = converter() + return await instance.convert(ctx, argument) + else: + method = getattr(converter, 'convert', None) + if method is not None and inspect.ismethod(method): + return await method(ctx, argument) elif isinstance(converter, converters.Converter): return await converter.convert(ctx, argument) except CommandError: |