aboutsummaryrefslogtreecommitdiff
path: root/discord
diff options
context:
space:
mode:
authorRapptz <[email protected]>2020-01-21 04:27:20 -0500
committerRapptz <[email protected]>2020-01-21 04:27:20 -0500
commitd9cd4a35612b72ffc08877b465ce97d9b079b4cb (patch)
tree1b62ae4376d8743d33d9f5b2a44b1ef9897cc303 /discord
parentDrop superfluous zero in version related changes in the documentation (diff)
downloaddiscord.py-d9cd4a35612b72ffc08877b465ce97d9b079b4cb.tar.xz
discord.py-d9cd4a35612b72ffc08877b465ce97d9b079b4cb.zip
[commands] Implement Command.__call__
Diffstat (limited to 'discord')
-rw-r--r--discord/ext/commands/core.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py
index 3404ef16..9816ce50 100644
--- a/discord/ext/commands/core.py
+++ b/discord/ext/commands/core.py
@@ -335,6 +335,24 @@ class Command(_BaseCommand):
"""
self.__init__(self.callback, **dict(self.__original_kwargs__, **kwargs))
+ async def __call__(self, *args, **kwargs):
+ """|coro|
+
+ Calls the internal callback that the command holds.
+
+ .. note::
+
+ This bypasses all mechanisms -- including checks, converters,
+ invoke hooks, cooldowns, etc. You must take care to pass
+ the proper arguments and types to this function.
+
+ .. versionadded:: 1.3
+ """
+ if self.cog is not None:
+ return await self.callback(self.cog, *args, **kwargs)
+ else:
+ return await self.callback(*args, **kwargs)
+
def _ensure_assignment_on_copy(self, other):
other._before_invoke = self._before_invoke
other._after_invoke = self._after_invoke