Browse Source

Update owner references when we get a chunk.

pull/105/head
Rapptz 9 years ago
parent
commit
841e584ee9
  1. 5
      discord/server.py
  2. 4
      discord/state.py

5
discord/server.py

@ -87,7 +87,7 @@ class Server(Hashable):
__slots__ = ['afk_timeout', 'afk_channel', '_members', '_channels', 'icon',
'name', 'id', 'owner', 'unavailable', 'name', 'me', 'region',
'_default_role', '_default_channel', 'roles', '_member_count',
'large' ]
'large', 'owner_id' ]
def __init__(self, **kwargs):
self._channels = {}
@ -166,7 +166,8 @@ class Server(Hashable):
self._add_member(member)
if 'owner_id' in guild:
self.owner = self.get_member(guild['owner_id'])
self.owner_id = guild['owner_id']
self.owner = self.get_member(self.owner_id)
for presence in guild.get('presences', []):
user_id = presence['user']['id']

4
discord/state.py

@ -384,6 +384,10 @@ class ConnectionState:
for member in members:
self._add_member(server, member)
# if the owner is offline, server.owner is potentially None
# therefore we should check if this chunk makes it point to a valid
# member.
server.owner = server.get_member(server.owner_id)
log.info('processed a chunk for {} members.'.format(len(members)))
self.process_listeners(ListenerType.chunk, server, len(members))

Loading…
Cancel
Save