NotFound:404 未找到(错误代码:10011):未知角色

Posted

技术标签:

【中文标题】NotFound:404 未找到(错误代码:10011):未知角色【英文标题】:NotFound: 404 Not Found (error code: 10011): Unknown Role 【发布时间】:2021-03-08 13:25:00 【问题描述】:

我正在尝试在我的 dicord.py 和 discord.ext.commands 机器人中添加静音命令,并且由于其他不和谐角色不允许“静音”角色正常运行,我必须在分配之前从成员中删除所有角色成员的“静音”角色。一切似乎都很好,但我无法与 member.roles 列表相处,通过 print() 似乎很好并显示每个角色的名称或 ID,但它给了我这个错误:

NotFound: 404 Not Found (error code: 10011): Unknown Role

我尝试更改不同类型的 member.roles 列表,但它们都不起作用

@client.command()
@commands.has_any_role('Admin', 'Mod', 'Owner')
async def mute(ctx, member: discord.Member = None):
    for i in range(100):
        try:
            print(member.roles[i])
            await member.remove_roles(member.roles[i])
        except IndexError:
            print('Something happened, maybe index out of range?')

    role = ctx.guild.get_role(781129235079233586)
    mute_message = ('Muted ' + str(member))
    print(mute_message)
    await member.add_roles(role)
    await ctx.send(mute_message)

我也尝试使用角色的 ID 代替名称

id(member.roles[i])

但我明白了:

Command raised an exception: AttributeError: 'int' object has no attribute 'id'

【问题讨论】:

【参考方案1】:

您的循环设置不正确。你应该看看Member.roles

注意:使用for i in range(100)是不好的做法,可以直接循环。

for role in member.roles:
    await member.remove_roles(role)

【讨论】:

【参考方案2】:

使用

role = discord.utils.get(message.guild.roles, id=781129235079233586)

而不是

role = ctx.guild.get_role(781129235079233586)

【讨论】:

以上是关于NotFound:404 未找到(错误代码:10011):未知角色的主要内容,如果未能解决你的问题,请参考以下文章

HttpClient 返回 404 未找到

microsoft .net framework 远程服务器返回错误:(404) 未找到

C#客户端用WebClient上传文件至IIS服务器,报错:远程服务器返回错误: (404) 未找到

html 文件 src 路径错误和 404 未找到

“POST /mail.php”错误(404):“未找到”

Web 服务错误 HTTP 状态 404 - 未找到