[commands] Fix classmethod converters not working.
Protocols sure are annoying.
This commit is contained in:
parent
ee5bb07c02
commit
9ab58d302d
@ -443,14 +443,11 @@ class Command(_BaseCommand):
|
|||||||
converter = getattr(converters, converter.__name__ + 'Converter', converter)
|
converter = getattr(converters, converter.__name__ + 'Converter', converter)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if inspect.isclass(converter):
|
if inspect.isclass(converter) and issubclass(converter, converters.Converter):
|
||||||
if issubclass(converter, converters.Converter):
|
if inspect.ismethod(converter.convert):
|
||||||
instance = converter()
|
return await converter.convert(ctx, argument)
|
||||||
return await instance.convert(ctx, argument)
|
|
||||||
else:
|
else:
|
||||||
method = getattr(converter, 'convert', None)
|
return await converter().convert(ctx, argument)
|
||||||
if method is not None and inspect.ismethod(method):
|
|
||||||
return await method(ctx, argument)
|
|
||||||
elif isinstance(converter, converters.Converter):
|
elif isinstance(converter, converters.Converter):
|
||||||
return await converter.convert(ctx, argument)
|
return await converter.convert(ctx, argument)
|
||||||
except CommandError:
|
except CommandError:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user