Discord.js 无法使用member.roles.add(id)分配角色

Discord.js 无法使用member.roles.add(id)分配角色,discord.js,Discord.js,我正在尝试生成一个assignrole命令,该命令将userID和roleID作为参数 content = message.content.slice(message.content.indexOf(' ')+1) args = content.split(', '); const userID = args[0] const roleID = args[1] const desiredUser = message.guild.members.cache.get(userID) const

我正在尝试生成一个assignrole命令,该命令将userID和roleID作为参数

content = message.content.slice(message.content.indexOf(' ')+1)
args = content.split(', ');

const userID = args[0]
const roleID = args[1]
const desiredUser = message.guild.members.cache.get(userID)

const desiredRole = message.guild.roles.cache.get(roleID)
if (desiredUser != undefined){
    if (desiredRole != undefined){
        usern = desiredUser.user.username
        desiredUser.roles.add(roleID).catch(console.error);
        message.channel.send(usern + " has been assigned the "+ desiredRole.name +" role")
        console.log("added role")
    } else {
        message.channel.send("role with ID " + roleID + " does not exist")
    }
} else {
    message.channel.send("user with ID " + userID + " does not exist")
}
函数在“获取”正确的用户和角色时成功,并成功发送“用户已被分配角色名称”消息。但是,角色本身并没有实际添加到用户中

我的控制台抛出了一个
DiscordAPIError:Missing Permissions
错误,但我不知道如何解释它。但是,该错误不会退出bot


如何向用户添加角色?

您可能缺少管理规则所需的
管理\u角色
权限

以下是可能导致错误的其他可能性:

我找到了这些

  • 它试图对角色高于或等于您的机器人最高角色的帮会成员执行操作
  • 它试图修改或分配高于或等于其最高角色的角色
  • 它正在尝试对服务器所有者执行禁止的操作

因此,事实证明,我拥有所有必要的权限,但我的bot角色低于我试图在角色层次结构中分配的角色。我提升了我的机器人的角色,现在它工作得很好!我觉得很傻,这么简单的回答。非常感谢。不客气!没必要觉得自己很傻!我经常发现花费最长时间来解决的问题通常是最容易解决的。