Browse Source

[commands] Add Command.clean_params to have nicer params.

These are params without the self/context parameters. Useful for
showing signature information in the help command without being
bogged down by knowing if the self/context parameters are there.
Hence it makes it easier to iterate knowing that you shouldn't care
about those two parameters.
pull/95/head
Rapptz 9 years ago
parent
commit
1e941925c2
  1. 18
      discord/ext/commands/core.py

18
discord/ext/commands/core.py

@ -209,6 +209,24 @@ class Command:
except Exception:
raise BadArgument('Converting to "{0.__name__}" failed.'.format(converter))
@property
def clean_params(self):
"""Retrieves the parameter OrderedDict without the context or self parameters.
Useful for inspecting signature.
"""
result = self.params.copy()
if self.instance is not None:
# first parameter is self
result.popitem(last=False)
if self.pass_context:
# first/second parameter is context
result.popitem(last=False)
return result
def _parse_arguments(self, ctx):
try:
ctx.args = [] if self.instance is None else [self.instance]

Loading…
Cancel
Save