diff --git a/discord/client.py b/discord/client.py index 33ab5d7c9..2e783d09a 100644 --- a/discord/client.py +++ b/discord/client.py @@ -127,6 +127,7 @@ class Client(object): def _add_server(self, guild): guild['roles'] = [Role(**role) for role in guild['roles']] members = guild['members'] + owner = guild['owner_id'] for i, member in enumerate(members): roles = member['roles'] for j, roleid in enumerate(roles): @@ -135,6 +136,10 @@ class Client(object): roles[j] = role members[i] = Member(**member) + # found the member that owns the server + if members[i].id == owner: + owner = members[i] + for presence in guild['presences']: user_id = presence['user']['id'] member = next((m for m in members if m.id == user_id), None) @@ -143,7 +148,7 @@ class Client(object): member.game_id = presence['game_id'] - server = Server(**guild) + server = Server(owner=owner, **guild) # give all the members their proper server for member in server.members: diff --git a/discord/server.py b/discord/server.py index 00c69dece..3e0d8be04 100644 --- a/discord/server.py +++ b/discord/server.py @@ -123,9 +123,9 @@ class Server(object): .. attribute:: id The server's ID. - .. attribute:: owner_id + .. attribute:: owner - The ID of the server's owner. + The :class:`Member` who owns the server. """ def __init__(self, **kwargs): @@ -137,4 +137,4 @@ class Server(object): self.members = kwargs.get('members') self.icon = kwargs.get('icon') self.id = kwargs.get('id') - self.owner_id = kwargs.get('owner_id') + self.owner = kwargs.get('owner')