aboutsummaryrefslogtreecommitdiff
path: root/discord/server.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-02-13 22:08:13 -0500
committerRapptz <[email protected]>2016-02-13 22:08:13 -0500
commit7b135725bc7d212253dc2ddc7750d8be3f48194a (patch)
tree3a849706b51dac1ee58bf6bdaeb45ee1bd60e3a9 /discord/server.py
parent[commands] Raise RuntimeError instead of StopIteration. (diff)
downloaddiscord.py-7b135725bc7d212253dc2ddc7750d8be3f48194a.tar.xz
discord.py-7b135725bc7d212253dc2ddc7750d8be3f48194a.zip
Add Server.member_count property for actual member count.
This will always work regardless of chunking or not.
Diffstat (limited to 'discord/server.py')
-rw-r--r--discord/server.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/discord/server.py b/discord/server.py
index 5b623292..c787a640 100644
--- a/discord/server.py
+++ b/discord/server.py
@@ -86,7 +86,7 @@ class Server(Hashable):
__slots__ = [ 'afk_timeout', 'afk_channel', '_members', '_channels', 'icon',
'name', 'id', 'owner', 'unavailable', 'name', 'me', 'region',
- '_default_role', '_default_channel', 'roles' ]
+ '_default_role', '_default_channel', 'roles', '_member_count']
def __init__(self, **kwargs):
self._channels = {}
@@ -136,6 +136,8 @@ class Server(Hashable):
return before, member
def _from_data(self, guild):
+ # according to Stan, this is always available even if the guild is unavailable
+ self._member_count = guild['member_count']
self.name = guild.get('name')
self.region = guild.get('region')
try:
@@ -204,3 +206,8 @@ class Server(Hashable):
if self.icon is None:
return ''
return 'https://cdn.discordapp.com/icons/{0.id}/{0.icon}.jpg'.format(self)
+
+ @property
+ def member_count(self):
+ """Returns the true member count regardless of it being loaded fully or not."""
+ return self._member_count