aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-08-27 17:03:04 -0400
committerRapptz <[email protected]>2015-08-27 17:03:04 -0400
commit52852f4fd29326dbfefe24ca4229b4902afb03ca (patch)
treeedfc6e6a18b16b0582b00949a30d4f9d8fb6e52f
parentMembers now have status info. (diff)
downloaddiscord.py-52852f4fd29326dbfefe24ca4229b4902afb03ca.tar.xz
discord.py-52852f4fd29326dbfefe24ca4229b4902afb03ca.zip
Give members their server as an attribute.
-rw-r--r--discord/client.py7
-rw-r--r--discord/server.py4
2 files changed, 10 insertions, 1 deletions
diff --git a/discord/client.py b/discord/client.py
index 99512718..f5e86bb9 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -172,7 +172,7 @@ class Client(object):
for presence in guild['presences']:
user_id = presence['user']['id']
- member = next((m for m in members if member.id == user_id), None)
+ member = next((m for m in members if m.id == user_id), None)
if member is not None:
member.status = presence['status']
member.game_id = presence['game_id']
@@ -184,6 +184,11 @@ class Client(object):
members.remove(member)
server = Server(**guild)
+
+ # give all the members their proper server
+ for member in server.members:
+ member.server = server
+
for channel in guild['channels']:
changed_roles = []
permission_overwrites = channel['permission_overwrites']
diff --git a/discord/server.py b/discord/server.py
index e2a395e9..727dfb7d 100644
--- a/discord/server.py
+++ b/discord/server.py
@@ -76,6 +76,9 @@ class Member(User):
.. attribute:: game_id
The game ID that the user is currently playing. Could be None if no game is being played.
+ .. attribute:: server
+
+ The :class:`Server` that the member belongs to.
"""
def __init__(self, deaf, joined_at, user, roles, mute):
@@ -86,6 +89,7 @@ class Member(User):
self.roles = roles
self.status = 'offline'
self.game_id = None
+ self.server = None
class Server(object):
"""Represents a Discord server.