Python 在"原始"反应上"移除"可以&"x27;不管发生什么事,都不要删除角色

Python 在"原始"反应上"移除"可以&"x27;不管发生什么事,都不要删除角色,python,python-3.x,discord,discord.py,discord.py-rewrite,Python,Python 3.x,Discord,Discord.py,Discord.py Rewrite,由于某些原因,我一直收到一个权限错误(请参见底部)。每当我尝试删除该反应时(这将删除关联的角色),就会发生权限错误。这很奇怪,因为我tripple检查了我的bot角色是admin,并且是角色列表中的最高角色。在我的bot中,on_raw_reaction_add()工作得非常好,所以我有权添加角色,但不能删除它 此外,在我的on_message()块中,我还有其他删除角色的函数。所以,除非我在幕后做一些我不知道的事情,否则我真的不认为这是缺乏许可?这是我的密码: @client.event as

由于某些原因,我一直收到一个权限错误(请参见底部)。每当我尝试删除该反应时(这将删除关联的角色),就会发生权限错误。这很奇怪,因为我tripple检查了我的bot角色是admin,并且是角色列表中的最高角色。在我的bot中,on_raw_reaction_add()工作得非常好,所以我有权添加角色,但不能删除它

此外,在我的on_message()块中,我还有其他删除角色的函数。所以,除非我在幕后做一些我不知道的事情,否则我真的不认为这是缺乏许可?这是我的密码:

@client.event
async def on_raw_reaction_remove(payload):
    react_msg = message_id
    guild = client.get_guild(guild_id)

    if int(payload.message_id) == react_msg:

        member = await client.guilds[0].fetch_member(payload.user_id)
        
        if str(payload.emoji.name) == "\U0001f534":
            role = discord.utils.get(guild.roles, name = "Red")
        elif str(payload.emoji.name) == "\U0001f535":
            role = discord.utils.get(guild.roles, name = "Blue")
        elif str(payload.emoji.name) == "\U0001f7e2":
            role = discord.utils.get(guild.roles, name = "Green")
        elif str(payload.emoji.name) == "\U0001f7e1":
            role = discord.utils.get(guild.roles, name = "Yellow")
        elif str(payload.emoji.name) == "\U0001f7e0":
            role = discord.utils.get(guild.roles, name = "Orange")
        elif str(payload.emoji.name) == "\U0001f7e3":
            role = discord.utils.get(guild.roles, name = "Purple")

        await member.remove_roles(role)
一旦消除我的反应,我会得到:


discord.errors.probled:403-probled(错误代码:50001):缺少访问权限

此错误通常发生,因为您的bot在discord服务器中没有正确的权限。

当您的bot缺少编辑角色的权限,或者它在服务器中的角色列表中的位置不够高,无法编辑和删除您的角色

任何问题请发表评论