为什么在尝试删除角色时会收到 400 Bad Request? discord.py

时间:2021-03-20 16:20:27

标签: python discord discord.py

whitelisted_roles = [12345678910, 11121314151617] #example ids

@client.command(aliases=['deleteroles', 'removeroles'])
async def clearroles(ctx, member: discord.Member=None):
    if not member:
        member = ctx.message.author
    for role in member.roles:
        if role.id in whitelisted_roles:
            pass
        else:
            await role.delete()

我已尝试将通行证更改为

print(f"{role.id} (whitelisted)) 

并等待 role.delete() 到

print(f"{role.id})

它打印出的 ID 很好,所以我不知道为什么我在尝试删除角色时会收到“HTTPException: 400 Bad Request (error code: 50028): Invalid Role”。

1 个答案:

答案 0 :(得分:1)

您要遍历所有成员角色,因此他们也必须是@everyone 角色。 除了它,使用 if role.id in whitelisted_roles or role == ctx.guild.default_role 并传递 if-Statement,因为您已经在这样做了。