aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2021-04-05 23:24:47 -0400
committerRapptz <[email protected]>2021-04-05 23:24:47 -0400
commitee5bb07c0280cc860c178ce1aefcab528a02d801 (patch)
tree111410736499b9653b3298534ac06889f87af462
parent[commands] Fix AttributeError for classes missing convert attribute (diff)
downloaddiscord.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.py15
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: