Tae*_*rpe 3 python discord discord.py
我最近更新了我的 discord.py,似乎我的一些旧命令是错误的。我需要遍历 discord 服务器的所有成员,但我以前的做法不再适用。这是我的旧代码。
@bot.command(pass_context = True)
async def missing(ctx, channel : str = None, useDiscordID : bool = False):
memberlist = []
for member in message.server.members:
toAppend = ''
if "barcode" in [y.name.lower() for y in member.roles]:
if member.nick is None:
toAppend = member.name
else:
toAppend = member.nick
if useDiscordID:
toAppend = f'{str(member)} : {toAppend}'
memberlist.append(toAppend)
Run Code Online (Sandbox Code Playgroud)
这是代码中不起作用的部分,我不知道循环服务器所有成员的新方法是什么,因为对于 message.server.members 中的成员:不再起作用。谢谢你的帮助!
下面的代码段将返回一个生成器,其中包含客户端的每个“成员”,即您的机器人可以看到,在机器人所属的所有服务器上。
@client.event
async def on_message(message):
if message.content.startswith('!member'):
for guild in client.guilds:
for member in guild.members:
print(member) # or do whatever you wish with the member detail
Run Code Online (Sandbox Code Playgroud)