DiscordAPIError:缺少权限

时间:2020-09-14 13:36:16

标签: javascript node.js discord discord.js

我正在尝试创建一个发送消息并赋予您角色的命令。该漫游器具有最高的角色,具有“管理角色”权限,并正在尝试将该角色添加到具有最低角色的普通公会成员中。每次执行命令时都会收到此错误。我还查看了该页面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 个答案:

答案 0 :(得分:1)

该错误已经表明Missing Permissions,这意味着您的机器人没有权限授予用户高于他的角色,或者根本没有MANAGE_ROLES权限。如果您希望您的机器人成功发布角色,请确保角色堆栈来自以下内容:

- UnreachableRole
- Bot Role
- Role 1
- Role 2
....
- Role 10

对此:

- Bot Role
- UnreachableRole
- Role 1
- Role 2
....
- Role 10

机器人无法到达UnreachableRole,因为它的位置较高。要解决此问题,请将机器人角色移到您要赋予的角色的更高位置。

还要确保您的漫游器具有MANAGE_ROLES权限。