From 1500001b04ae49c1f3a0714c971a0fa6ef81e1bb Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sat, 2 Jul 2016 23:38:59 -0400 Subject: [PATCH] [commands] Fix error in converters in a private message context. I was referencing a member function that did not actually exist. So I ported it over to a free function that could be used. --- discord/ext/commands/converter.py | 14 +++++++++++--- discord/ext/commands/core.py | 8 -------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/discord/ext/commands/converter.py b/discord/ext/commands/converter.py index 4f34956b4..214475f57 100644 --- a/discord/ext/commands/converter.py +++ b/discord/ext/commands/converter.py @@ -34,6 +34,14 @@ __all__ = [ 'Converter', 'MemberConverter', 'UserConverter', 'ChannelConverter', 'InviteConverter', 'RoleConverter', 'GameConverter', 'ColourConverter' ] +def _get_from_servers(bot, getter, argument): + result = None + for server in bot.servers: + result = getattr(server, getter)(argument) + if result: + return result + return result + class Converter: """The base class of custom converters that require the :class:`Context` to be passed to be useful. @@ -72,13 +80,13 @@ class MemberConverter(Converter): if server: result = server.get_member_named(self.argument) else: - result = self._get_from_servers(bot, 'get_member_named', self.argument) + result = _get_from_servers(bot, 'get_member_named', self.argument) else: user_id = match.group(1) if server: result = server.get_member(user_id) else: - result = self._get_from_servers(bot, 'get_member', user_id) + result = _get_from_servers(bot, 'get_member', user_id) if result is None: raise BadArgument('Member "{}" not found'.format(self.argument)) @@ -106,7 +114,7 @@ class ChannelConverter(Converter): if server: result = server.get_channel(channel_id) else: - result = self._get_from_servers(bot, 'get_channel', channel_id) + result = _get_from_servers(bot, 'get_channel', channel_id) if result is None: raise BadArgument('Channel "{}" not found.'.format(self.argument)) diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 606f8e743..fff90ae6d 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -158,14 +158,6 @@ class Command: finally: ctx.bot.dispatch('command_error', error, ctx) - def _get_from_servers(self, bot, getter, argument): - result = None - for server in bot.servers: - result = getattr(server, getter)(argument) - if result: - return result - return result - @asyncio.coroutine def do_conversion(self, ctx, converter, argument): if converter is bool: