aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2019-07-10 03:49:58 -0400
committerRapptz <[email protected]>2019-07-10 04:51:27 -0400
commit5f272fa1511f920fe7e0ed63fe665388648d4940 (patch)
treeaf5eedaa56d9f539a1497207a8e96381d3fa61f0
parentAdd support for guild subscriptions. (diff)
downloaddiscord.py-5f272fa1511f920fe7e0ed63fe665388648d4940.tar.xz
discord.py-5f272fa1511f920fe7e0ed63fe665388648d4940.zip
Add VoiceChannel.voice_states low level helper.
-rw-r--r--discord/channel.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/discord/channel.py b/discord/channel.py
index ae0eb4c3..62bc3d3f 100644
--- a/discord/channel.py
+++ b/discord/channel.py
@@ -549,6 +549,24 @@ class VoiceChannel(discord.abc.Connectable, discord.abc.GuildChannel, Hashable):
ret.append(member)
return ret
+ @property
+ def voice_states(self):
+ """Returns a mapping of member IDs who have voice states in this channel.
+
+ .. versionadded:: 1.3.0
+
+ .. note::
+
+ This function is intentionally low level to replace :attr:`members`
+ when the member cache is unavailable.
+
+ Returns
+ --------
+ Mapping[:class:`int`, :class:`VoiceState`]
+ The mapping of member ID to a voice state.
+ """
+ return {key: value for key, value in self.guild._voice_states.items() if value.channel.id == self.id}
+
def permissions_for(self, member):
base = super().permissions_for(member)