[commands] Fix exception raised in Command invoke hooks.
This commit is contained in:
parent
15f51113c3
commit
f8a7d3fc54
@ -724,18 +724,14 @@ class Command(_BaseCommand):
|
|||||||
# first, call the command local hook:
|
# first, call the command local hook:
|
||||||
cog = self.cog
|
cog = self.cog
|
||||||
if self._before_invoke is not None:
|
if self._before_invoke is not None:
|
||||||
try:
|
|
||||||
instance = self._before_invoke.__self__
|
|
||||||
# should be cog if @commands.before_invoke is used
|
# should be cog if @commands.before_invoke is used
|
||||||
except AttributeError:
|
instance = getattr(self._before_invoke, '__self__', cog)
|
||||||
# __self__ only exists for methods, not functions
|
# __self__ only exists for methods, not functions
|
||||||
# however, if @command.before_invoke is used, it will be a function
|
# however, if @command.before_invoke is used, it will be a function
|
||||||
if self.cog:
|
if instance:
|
||||||
await self._before_invoke(cog, ctx)
|
await self._before_invoke(instance, ctx)
|
||||||
else:
|
else:
|
||||||
await self._before_invoke(ctx)
|
await self._before_invoke(ctx)
|
||||||
else:
|
|
||||||
await self._before_invoke(instance, ctx)
|
|
||||||
|
|
||||||
# call the cog local hook if applicable:
|
# call the cog local hook if applicable:
|
||||||
if cog is not None:
|
if cog is not None:
|
||||||
@ -751,15 +747,11 @@ class Command(_BaseCommand):
|
|||||||
async def call_after_hooks(self, ctx):
|
async def call_after_hooks(self, ctx):
|
||||||
cog = self.cog
|
cog = self.cog
|
||||||
if self._after_invoke is not None:
|
if self._after_invoke is not None:
|
||||||
try:
|
instance = getattr(self._after_invoke, '__self__', cog)
|
||||||
instance = self._after_invoke.__self__
|
if instance:
|
||||||
except AttributeError:
|
await self._after_invoke(instance, ctx)
|
||||||
if self.cog:
|
|
||||||
await self._after_invoke(cog, ctx)
|
|
||||||
else:
|
else:
|
||||||
await self._after_invoke(ctx)
|
await self._after_invoke(ctx)
|
||||||
else:
|
|
||||||
await self._after_invoke(instance, ctx)
|
|
||||||
|
|
||||||
# call the cog local hook if applicable:
|
# call the cog local hook if applicable:
|
||||||
if cog is not None:
|
if cog is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user