[commands] Make Command a descriptor for #426.

This commit is contained in:
Rapptz 2017-01-13 20:34:00 -05:00
parent ced617e786
commit 695b62ccd3
2 changed files with 5 additions and 2 deletions

View File

@ -417,7 +417,6 @@ class BotBase(GroupMixin):
for name, member in members: for name, member in members:
# register commands the cog has # register commands the cog has
if isinstance(member, Command): if isinstance(member, Command):
member.instance = cog
if member.parent is None: if member.parent is None:
self.add_command(member) self.add_command(member)
continue continue
@ -465,7 +464,6 @@ class BotBase(GroupMixin):
for name, member in members: for name, member in members:
# remove commands the cog has # remove commands the cog has
if isinstance(member, Command): if isinstance(member, Command):
member.instance = None
if member.parent is None: if member.parent is None:
self.remove_command(member.name) self.remove_command(member.name)
continue continue

View File

@ -160,6 +160,11 @@ class Command:
finally: finally:
ctx.bot.dispatch('command_error', error, ctx) ctx.bot.dispatch('command_error', error, ctx)
def __get__(self, instance, owner):
if instance is not None:
self.instance = instance
return self
@asyncio.coroutine @asyncio.coroutine
def do_conversion(self, ctx, converter, argument): def do_conversion(self, ctx, converter, argument):
if converter is bool: if converter is bool: