我正在尝试创建一个将 userID 和 roleID 作为参数的assignrole 命令。
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")
}
该函数成功“获取”了正确的用户和角色,并成功发送了“USER has been分配了ROLENAME角色”消息。但是,角色本身实际上并未添加到用户!
我的控制台抛出一个 DiscordAPIError: Missing Permissions
错误,但我不知道如何解释它。但是,该错误不会退出机器人。
如何为用户添加角色?
答案 0 :(得分:0)
您可能缺少管理规则所需的 sdk.dir = C:\\Users\\<USER>\\AppData\\Local\\Android\\Sdk
权限,正如其名称所暗示的那样。
https://discord.com/developers/docs/topics/permissions
以下是可能导致错误的其他可能性:
我找到了这些here
<块引用>