【问题标题】:DiscordAPIError: Missing PermissionsDiscordAPIError:缺少权限
【发布时间】: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);
}

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案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 合作,不知道这些角色有优先权,我可以将一个角色拖到另一个之上。我的天啊。我已经为此烦恼了一个星期!该角色具有管理员权限,但它尝试赋予其上方一行的角色。
    猜你喜欢
    • 2021-11-29
    • 2021-12-18
    • 2021-06-29
    • 1970-01-01
    • 2021-07-26
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多