为了账号安全,请及时绑定邮箱和手机立即绑定

如何在discord.py中获取实际用户并排除机器人?

如何在discord.py中获取实际用户并排除机器人?

一只萌萌小番薯 2023-09-05 17:23:24
我正在尝试创建一个命令,为公会中的每个实际用户(不包括机器人)赋予特定的角色。我有代码:    @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)


查看完整回答
反对 回复 2023-09-05
?
紫衣仙女

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)


查看完整回答
反对 回复 2023-09-05
  • 2 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信