print(message.guild.member_count) # 7
print(len(message.guild.members)) # 1
for member in message.guild.members:
print(str(member)) # the bot itself
我正在尝试获取Discord频道的成员,但它仅列出了漫游器本身。它曾经工作过,我根本没有更改代码,但是突然没有。我授予了漫游器管理员权限,不知道出了什么问题。
答案 0 :(得分:1)
您需要做两项利用Intents Data Class的事情,您的代码才能按预期工作。
intents = discord.Intents.default()
intents.members = True
bot = Bot(command_prefix=list(PREFIX), intents=intents)
答案 1 :(得分:0)
如果您要获取公会中所有成员的人数和姓名,请使用guild.fetch_members()。
@client.event
async def on_ready():
guild = client.get_guild(123456789)
member_count = guild.member_count
print(f"Total member count: {member_count}")
async for member in guild.fetch_members(limit=150):
print(member.name)
还要确保将您的意图设置为上面所说的@DaveStSomeWhere。