Discord-Bot可以更改用户名,bot不能更改管理员名称

时间:2018-02-01 20:16:12

标签: javascript node.js discord.js

我正在研究我的机器人,并添加了一个有趣的名称生成器。 名称更改有效,但不适用于管理员。

if (message.guild.members.get(client.user.id).hasPermission("MANAGE_NICKNAMES") && message.guild.members.get(client.user.id).hasPermission("CHANGE_NICKNAME")) {

      message.guild.member(userID).setNickname('myNicknameGoesHere');
  } else {
      message.channel.send("I dont have the permissons to change my nickname in this server.");
  }

当管理员使用该命令时,我会在日志中看到:

(node:20632) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): DiscordAPIError: Privilege is too low...

2 个答案:

答案 0 :(得分:0)

您的代码看起来不是问题,您可能需要根据角色管理更改一些内容:

DiscordAPIError: Privilege is too low...

你的机器人需要的角色高于其试图昵称的人我认为它还需要管理员权限来更改管理员的昵称。

祝你好运

答案 1 :(得分:0)

Your Bot must have a higher Role than the user you want to change his Nickname and you cant change the Nick of the Owner. Never.