You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py机器人角色置顶且含管理员权限仍报Missing Permissions错误

Discord机器人权限错误排查与解决

问题详情

执行test命令时触发权限错误:

raise CommandInvokeError(self, e) from e
discord.app_commands.errors.CommandInvokeError: Command 'test' raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

机器人已配置管理员权限,角色位于服务器角色列表顶端;个人角色在机器人角色下方且同样拥有管理员权限,但仍持续出现上述错误。

涉及命令代码:

@tree.command(name='test', description='testing the bot', guild=guild)
async def self(interaction: discord.Interaction, user:discord.User, *, nickname:str):
    await interaction.user.edit(nick=nickname)
    await interaction.response.send_message(user.mention, ephemeral=True)

问题原因及解决办法

核心问题:服务器所有者的昵称无法被机器人修改

Discord有内置限制:任何机器人,哪怕拥有管理员权限,都不能修改服务器所有者的昵称。如果你用服务器所有者账号调用这个命令,必然会触发403权限错误。

代码逻辑修正

另外你的命令定义了user参数,但实际操作的是interaction.user(即调用命令的用户)。如果你的需求是修改指定用户的昵称,需要把代码中的interaction.user替换为user:

await user.edit(nick=nickname)

额外注意事项

  • 机器人无法修改角色层级高于自身的用户昵称,不过你的角色在机器人下方,此情况可排除;
  • 确认服务器未开启针对所有者的特殊权限锁定(默认无此设置)。

换用非服务器所有者的普通账号测试命令,即可验证问题是否解决。

内容的提问来源于stack exchange,提问作者doare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 15:50:17