DiscordAPIError:缺少权限
Posted
技术标签:
【中文标题】DiscordAPIError:缺少权限【英文标题】:DiscordAPIError: Missing Permissions 【发布时间】:2021-01-01 05:50:08 【问题描述】:我正在尝试编写一个发送消息并为您提供角色的命令。该机器人具有最高角色,具有管理角色权限,并试图将角色添加到具有最低角色的普通公会成员。每次执行命令时都会出现此错误。我还查看了此页面 https://discordjs.guide/popular-topics/permissions-extended.html#missing-permissions 并检查了所有内容,但我不断收到错误消息。
DiscordAPIError: Missing Permissions
at RequestHandler.execute (C:\Users\perli\Desktop\DiscordBot\node_modules\discord.js\src\rest\RequestHandler.js:170:25)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
另外,这是我的代码:
if (command === 'participo')
const author = message.author;
message.reply(
`te has inscrito correctamente al torneo\nRecuerda unirte a este canal para participar https://discord.gg/4jue4uZ`
);
client.channels.cache
.get('754701028888281168')
.send(`<@$author.id> se ha inscrito al torneo`);
const role = message.guild.roles.cache.array(
(role) => role.id === '754748890300940348'
);
message.member.roles
.add(role)
.then(console.log)
.catch(console.error);
【问题讨论】:
【参考方案1】:正如错误已经提到的Missing Permissions
,这意味着您的机器人没有权限为用户提供高于他的角色,或者根本没有MANAGE_ROLES
权限。如果您希望您的机器人成功分配角色,请确保角色堆栈来自以下内容:
- UnreachableRole
- Bot Role
- Role 1
- Role 2
....
- Role 10
到这里:
- Bot Role
- UnreachableRole
- Role 1
- Role 2
....
- Role 10
机器人无法到达UnreachableRole
,因为它的位置更高。要解决此问题,请将 bot 角色移动到您想要赋予的角色更高的位置。
还要确保您的机器人具有MANAGE_ROLES
权限。
【讨论】:
他说bot的角色最高 天啊,这必须是对添加角色错误的 1 票。我多年来一直与 DISCORD 合作,不知道这些角色有优先权,我可以将一个角色拖到另一个之上。我的天啊。我已经为此烦恼了一个星期!该角色具有管理员权限,但它尝试赋予其上方一行的角色。以上是关于DiscordAPIError:缺少权限的主要内容,如果未能解决你的问题,请参考以下文章
DiscordAPIError:缺少权限 - 机器人崩溃而不是给出错误消息