I tried to do this
voicemembers_ = []
for v in ctx.guild.voice_channels:
voicemembers_.append(v.members)
voicemembers = voicemembers_
print(voicemembers)[0]
when wanted to find all members in all voice channels but I have 0 in terminal but in the server I have 10+ members also I delete [0] and add print statement and find this
[[], [], [], [], [], [], [<Member id=481824139133321218 name='Не ебался 15 лет' discriminator='3598' bot=False nick='M1sT' guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=509012843329486860 name='Wolfemor' discriminator='2311' bot=False nick=None guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=530380443577483264 name='Arkul' discriminator='8151' bot=False nick=None guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=938530532541751476 name='Gluko' discriminator='1219' bot=False nick='Стримлер' guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>], [], [], [], [], [], [], [], [], [], [], [<Member id=287215916817842188 name='ap0sstal' discriminator='6526' bot=False nick='ap0sstal(p0n1m3(Серж))' guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=371699181741539329 name='ArtemKKKa' discriminator='5882' bot=False nick='666' guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>], [], [], [<Member id=286883614921326594 name='321' discriminator='9099' bot=False nick='Aizen' guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=485010706316656640 name='G1R0' discriminator='7773' bot=False nick=None guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>, <Member id=576859761434296344 name='Aleg(tilt)' discriminator='5562' bot=False nick=None guild=<Guild id=938540650209615953 name='Ghost Side' shard_id=0 chunked=True member_count=345>>], []]
You can use set
s, which are fast, can be counted easily, and will also automatically filter out any duplicated members.
voice = set()
for v in ctx.guild.voice_channels:
for member in v.members:
voice.add(member.id)
Then, you can get the total number by doing len(voice)
. You can also iterate over all of the members if you want to do anything to it.