(discord.py) 获取特定语音频道中所有成员的列表

Mat*_*pie 7 python python-3.x discord discord.py

所以我尝试使用 python 中的discord.py 库为我的raiddiscord 编写一个raid 机器人。该脚本应该形成语音频道中的成员列表以进行袭击。由于某种原因,该脚本无法正常工作。每当打印 memids 时,它只会打印一个空列表。

如果有人熟悉 discord.py 并且可以告诉我为什么这不起作用,请告诉我。这真的让我很困扰,我已经尽我所知尝试了一切来解决它。

#find raiding
        voice_channel = discord.utils.get(ctx.message.server.channels, id = '440014722587426816')

        #finds the members
        members = voice_channel.voice_members

        memids = []

        for member in members:
            memids.append(member.id)

        print(memids)
Run Code Online (Sandbox Code Playgroud)

abc*_*ccd 1

从你的问题来看,没有太多可说的。我相信您的问题是id您提供的utils.get(...)不是正确的语音通道 ID。这可能就是为什么你总是得到一个空列表的原因。

voice_members

Members目前该语音频道内包含这些内容的列表。如果type不是,ChannelType.voice那么这始终是一个空数组。

如果您不完全确定语音频道的实际情况id,我建议您按名称搜索并输入 ( discord.ChannelType.voice):

voice_channel = discord.utils.get(ctx.message.server.channels, name="channelname", type=discord.ChannelType.voice)
Run Code Online (Sandbox Code Playgroud)