mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 12:18:59 +00:00
[commands] Add Context.current_parameter
This commit is contained in:
parent
3c8d3ab078
commit
09f3f2111c
@ -53,6 +53,11 @@ class Context(discord.abc.Messageable):
|
|||||||
A dictionary of transformed arguments that were passed into the command.
|
A dictionary of transformed arguments that were passed into the command.
|
||||||
Similar to :attr:`args`\, if this is accessed in the
|
Similar to :attr:`args`\, if this is accessed in the
|
||||||
:func:`on_command_error` event then this dict could be incomplete.
|
:func:`on_command_error` event then this dict could be incomplete.
|
||||||
|
current_parameter: Optional[:class:`inspect.Parameter`]
|
||||||
|
The parameter that is currently being inspected and converted.
|
||||||
|
This is only of use for within converters.
|
||||||
|
|
||||||
|
.. versionadded:: 2.0
|
||||||
prefix: :class:`str`
|
prefix: :class:`str`
|
||||||
The prefix that was used to invoke the command.
|
The prefix that was used to invoke the command.
|
||||||
command: :class:`Command`
|
command: :class:`Command`
|
||||||
@ -94,6 +99,7 @@ class Context(discord.abc.Messageable):
|
|||||||
self.invoked_subcommand = attrs.pop('invoked_subcommand', None)
|
self.invoked_subcommand = attrs.pop('invoked_subcommand', None)
|
||||||
self.subcommand_passed = attrs.pop('subcommand_passed', None)
|
self.subcommand_passed = attrs.pop('subcommand_passed', None)
|
||||||
self.command_failed = attrs.pop('command_failed', False)
|
self.command_failed = attrs.pop('command_failed', False)
|
||||||
|
self.current_parameter = attrs.pop('current_parameter', None)
|
||||||
self._state = self.message._state
|
self._state = self.message._state
|
||||||
|
|
||||||
async def invoke(self, command, /, *args, **kwargs):
|
async def invoke(self, command, /, *args, **kwargs):
|
||||||
|
@ -819,6 +819,7 @@ class Command(_BaseCommand):
|
|||||||
raise discord.ClientException(f'Callback for {self.name} command is missing "ctx" parameter.')
|
raise discord.ClientException(f'Callback for {self.name} command is missing "ctx" parameter.')
|
||||||
|
|
||||||
for name, param in iterator:
|
for name, param in iterator:
|
||||||
|
ctx.current_parameter = param
|
||||||
if param.kind in (param.POSITIONAL_OR_KEYWORD, param.POSITIONAL_ONLY):
|
if param.kind in (param.POSITIONAL_OR_KEYWORD, param.POSITIONAL_ONLY):
|
||||||
transformed = await self.transform(ctx, param)
|
transformed = await self.transform(ctx, param)
|
||||||
args.append(transformed)
|
args.append(transformed)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user