Discord.py在所有服务器的语音频道中获取会员



我想打印出连接到Discord机器人程序所连接的语音频道的所有Discord用户的ID。该机器人程序对所有Discord拥有管理员权限,并可以访问所有频道。我试着用这段代码来做这件事,但我根本无法让它工作。channel.members只返回一个空列表。(我当然检查过是否有人连接到语音频道(

import discord
from discord.ext import commands, tasks
global client
prefix = "-"
client = commands.Bot(command_prefix=prefix, case_insensitive=True)
@client.event
async def on_ready():
for guild in client.guilds:
for channel in guild.voice_channels:
for member in channel.members:
print(member.id)
client.run("XXXXXX")

阅读你帖子上的评论,你会说你已经启用了intents,但从你的代码来看,你在代码中似乎没有启用intents。你必须两者兼而有之。链接到文档。

import discord
from discord.ext import commands, tasks
intents = discord.Intents.default()
intents.members = True
global client
prefix = "-"
client = commands.Bot(command_prefix=prefix,intents=intents, case_insensitive=True)
@client.event
async def on_ready():
print("Ready")
for guild in client.guilds:
for channel in guild.voice_channels:
for member in channel.members:
print(member.id)

在两个不同行业的VC中测试了两个用户,并且都打印了

最新更新