[英]How to get a list of all non-bot members, rewriting Discord.py?
I'm making a bot that scales a number, based on the number of members in the guild.我正在制作一个根据公会成员数量来缩放数字的机器人。 However, I don't want to include bots.但是,我不想包括机器人。
My Code:我的代码:
members = []
for member in client.get_all_members():
if str(member.type) != 'bot':
members.append(member)
print(members)
number = 10 * len(members)
You can use a list comprehension to make a list of all users where member.bot
is False
.您可以使用列表推导来制作member.bot
为False
的所有用户的列表。
members = [member for member in client.get_all_members() if not member.bot]
print(len(members))
This takes the client.get_all_members()
generator and makes a new list in one line where all the users are not bots.这需要client.get_all_members()
生成器并在所有用户都不是机器人的一行中创建一个新列表。
Then, we just print the length of that list, which you can use as needed.然后,我们只打印该列表的长度,您可以根据需要使用它。
Theres already a feature in discord api library. discord api 库中已经有一个功能。
Returns a list of all the users the bot can see.返回机器人可以看到的所有用户的列表。
Simply use只需使用
len(client.users)
Note that a member may be bot, but user is never a bot.请注意,成员可能是机器人,但用户绝不是机器人。
I found the problem, I was using the wrong format, all member objects have a boolean value called bot i just had to query it for false我发现了问题,我使用了错误的格式,所有成员对象都有一个名为 bot 的 boolean 值,我只需要查询它是否为 false
members = []
for member in client.get_all_members():
if member.bot == False:
members.append(member)
print(members)
number = 10 * len(members)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.