diff options
| author | Rapptz <[email protected]> | 2016-02-13 22:08:13 -0500 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2016-02-13 22:08:13 -0500 |
| commit | 7b135725bc7d212253dc2ddc7750d8be3f48194a (patch) | |
| tree | 3a849706b51dac1ee58bf6bdaeb45ee1bd60e3a9 /discord/server.py | |
| parent | [commands] Raise RuntimeError instead of StopIteration. (diff) | |
| download | discord.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.py | 9 |
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 |