我正在嘗試創建一個命令,為公會中的每個實際用戶(不包括機器人)賦予特定的角色。我有代碼: @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
提交
取消