如何获取当前在语音频道中的人员列表 - discord.py

时间:2021-05-12 15:29:00

标签: python discord discord.py

我正在尝试获取运行该命令的某个用户所在的语音频道中所有用户/成员的列表。我设法获得了该用户和他所在的频道,没有任何问题(尝试通过发送一条提到频道的聊天消息,它起作用了)。但是当我尝试获取连接到频道的用户/成员列表时,它开始变得很奇怪。

      await message.channel.send("called by user " + message.author.name)
      voice_state = message.author.voice
      if voice_state != None:
        channel = voice_state.channel
        await message.channel.send(channel.mention)
        await message.channel.send(len(channel.members))
        for u in channel.members:
          await message.channel.send(u.name)
      else:
        await message.channel.send("user " + message.author.name + " is not currently in a voice channel")

这是我使用的代码。 message 是包含命令的消息。这将输出正确的用户并提及他所在的语音通道(如果他在一个通道中)。下一个命令 await message.channel.send(len(channel.members)) 大部分时间输出 0,但奇怪的是一次给出了 2(正确的数字)。显然,如果列表的长度为 0,则循环不会触发。当它输出 2 一次时还没有实现,所以我不知道它是否按预期工作。

其中大部分只是为了测试我是否得到了正确的列表,而我没有。如何获取频道中的用户/成员列表?

0 个答案:

没有答案