提问者:小点点

(Discord.py)Bot可以在一台服务器上添加角色,但不能在其他服务器上添加角色)


我的机器人可以向测试服务器中的其他人添加角色,但不能在主服务器中添加角色。它们都具有相同的管理权限和角色。

这是我的角色代码:

role = 'Customer'
await author.add_roles(discord.utils.get(author.guild.roles, name=role)) #add the role
print(f"{author} was given Customer Role.")

这是错误(我只有在主服务器中使用命令时才会得到):

Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

在这一点上,我认为这是开发人员面板中需要配置的东西,但不确定。


共2个答案

匿名用户

检查层次结构。如果bot的角色位于您尝试添加的角色之下,则即使bot具有管理员权限,也无法添加角色。

匿名用户

您的bot没有权限管理该服务器上的角色。您应该将代码包装在try-except块中,并让它在发生这种情况时在服务器上输出错误。例如:

role = 'Customer'
try:
    await author.add_roles(discord.utils.get(author.guild.roles, name=role)) #add the role
except discord.Forbidden:
    await ctx.send("Error! I do not have permission to manage roles!")
print(f"{author} was given Customer Role.")

要求服务器所有者(或管理员)授予您的bot必要的权限。