aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2021-04-05 23:52:28 -0400
committerRapptz <[email protected]>2021-04-05 23:52:28 -0400
commit9ab58d302dd2fdd3706faf5dddb9629427df9037 (patch)
treef27c608589ca5d9e8925e6e3b9f6fdaff0959074
parent[commands] Revert conversion code back to how it was originally (diff)
downloaddiscord.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.py11
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: