Add Channel.voice_members
This allows you to see which members are currently in a voice channel.
This commit is contained in:
parent
411b477a02
commit
be14fd1dcc
@ -56,10 +56,15 @@ class Channel(object):
|
||||
|
||||
An array of :class:`Roles` that have been overridden from their default
|
||||
values in the :attr:`Server.roles` attribute.
|
||||
.. attribute:: voice_members
|
||||
|
||||
An array of :class:`Members` that are currently inside this voice channel.
|
||||
If :attr:`type` is not ``'voice'`` then this is always an empty array.
|
||||
"""
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
self.update(**kwargs)
|
||||
self.voice_members = []
|
||||
|
||||
def update(self, **kwargs):
|
||||
self.name = kwargs.get('name')
|
||||
|
@ -89,8 +89,17 @@ class Member(User):
|
||||
self.is_afk = kwargs.get('suppress', False)
|
||||
self.mute = kwargs.get('mute', False)
|
||||
self.deaf = kwargs.get('deaf', False)
|
||||
old_channel = getattr(self, 'voice_channel', None)
|
||||
self.voice_channel = kwargs.get('voice_channel')
|
||||
|
||||
if old_channel is None and self.voice_channel is not None:
|
||||
# we joined a channel
|
||||
self.voice_channel.voice_members.append(self)
|
||||
elif old_channel is not None and self.voice_channel is None:
|
||||
# we left a channel
|
||||
old_channel.voice_members.remove(self)
|
||||
|
||||
|
||||
class Server(object):
|
||||
"""Represents a Discord server.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user