我正在尝试创建一个命令,为公会中的每个实际用户(不包括机器人)赋予特定的角色。我有代码: @commands.command() @commands.has_permissions(manage_roles=True) async def maddrole(self,ctx,role: discord.Role): guild = ctx.guild for member in guild.members: await member.add_roles(role) embed= discord.Embed(description=f'{role} have been given to all users.',color=discord.Color.red()) await ctx.channel.send(embed=embed)这会获取公会中的每个人(机器人也是如此)。如何排除机器人并仅获取真实用户?
2 回答
达令说
TA贡献1821条经验 获得超6个赞
Member对象有一个bot
属性,如果用户是机器人,该属性将为 true,因此
for member in guild.members:
if member.bot:
continue
await member.add_roles(role)
紫衣仙女
TA贡献1839条经验 获得超15个赞
discord.Member
对象有一个bot
属性,该属性返回True
或 ,False
具体取决于成员是否是机器人:
@commands.command()
@commands.has_permissions(manage_roles=True)
async def maddrole(self,ctx,role: discord.Role):
guild = ctx.guild
for member in guild.members:
if member.bot:
continue
await member.add_roles(role)
embed= discord.Embed(description=f'{role} have been given to all users.',color=discord.Color.red())
await ctx.channel.send(embed=embed)
添加回答
举报
0/150
提交
取消