aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/client.py9
-rw-r--r--discord/state.py5
2 files changed, 8 insertions, 6 deletions
diff --git a/discord/client.py b/discord/client.py
index b892d29d..0ce6e429 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -183,9 +183,8 @@ class Client:
found = utils.find(lambda pm: pm.user == destination, self.private_channels)
if found is None:
# Couldn't find the user, so start a PM with them first.
- yield from self.start_private_message(destination)
- channel_id = self.private_channels[-1].id
- return channel_id
+ channel = yield from self.start_private_message(destination)
+ return channel.id
else:
return found.id
elif isinstance(destination, Object):
@@ -732,7 +731,9 @@ class Client:
yield from utils._verify_successful_response(r)
data = yield from r.json()
log.debug(request_success_log.format(response=r, json=payload, data=data))
- self.private_channels.append(PrivateChannel(id=data['id'], user=user))
+ channel = PrivateChannel(id=data['id'], user=user)
+ self.private_channels.append(channel)
+ return channel
@asyncio.coroutine
def _rate_limit_helper(self, name, method, url, data):
diff --git a/discord/state.py b/discord/state.py
index 65ba008c..17b68314 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -55,6 +55,7 @@ class ConnectionState:
def _add_server(self, guild):
server = Server(**guild)
self.servers.append(server)
+ return server
def parse_ready(self, data):
self.user = User(**data['user'])
@@ -220,8 +221,8 @@ class ConnectionState:
# unavailable during the READY event and is now
# available, so it isn't in the cache...
- self._add_server(data)
- self.dispatch('server_join', self.servers[-1])
+ server = self._add_server(data)
+ self.dispatch('server_join', server)
def parse_guild_update(self, data):
server = self._get_server(data.get('id'))