aboutsummaryrefslogtreecommitdiff
path: root/discord/state.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-02-14 21:49:34 -0500
committerRapptz <[email protected]>2016-02-14 21:49:34 -0500
commit4584c68f0ca48a1bac7d1fdd0ced7e947fb9da60 (patch)
treeafec05342717b3b57d0b380ad3adbfb2f7916ad1 /discord/state.py
parentUpdate owner references when we get a chunk. (diff)
downloaddiscord.py-4584c68f0ca48a1bac7d1fdd0ced7e947fb9da60.tar.xz
discord.py-4584c68f0ca48a1bac7d1fdd0ced7e947fb9da60.zip
Remove request_offline option.
Diffstat (limited to 'discord/state.py')
-rw-r--r--discord/state.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/discord/state.py b/discord/state.py
index bcb90e72..f016cb2d 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -175,10 +175,7 @@ class ConnectionState:
member_id = user['id']
member = server.get_member(member_id)
if member is None:
- # if the member is not in cache then it's being "lazily"
- # loaded due to large_threshold so we need to add it into
- # the cache and then update that instead.
- member = self._add_member(server, data)
+ member = self._make_member(server, data)
old_member = copy.copy(member)
member.status = data.get('status')
@@ -232,7 +229,7 @@ class ConnectionState:
self.dispatch('channel_create', channel)
- def _add_member(self, server, data):
+ def _make_member(self, server, data):
roles = [server.default_role]
for roleid in data.get('roles', []):
role = utils.get(server.roles, id=roleid)
@@ -240,13 +237,12 @@ class ConnectionState:
roles.append(role)
data['roles'] = roles
- member = Member(server=server, **data)
- server._add_member(member)
- return member
+ return Member(server=server, **data)
def parse_guild_member_add(self, data):
server = self._get_server(data.get('guild_id'))
- member = self._add_member(server, data)
+ member = self._make_member(server, data)
+ server._add_member(member)
server._member_count += 1
self.dispatch('member_join', member)
@@ -382,7 +378,8 @@ class ConnectionState:
server = self._get_server(data.get('guild_id'))
members = data.get('members', [])
for member in members:
- self._add_member(server, member)
+ m = self._make_member(server, member)
+ server._add_member(m)
# if the owner is offline, server.owner is potentially None
# therefore we should check if this chunk makes it point to a valid