【问题标题】:Discord.js bot dosnt have permission to manage NicknamesDiscord.js 机器人无权管理昵称
【发布时间】:2019-09-30 17:22:17
【问题描述】:

我给了我的不和谐机器人管理员权限,并将该角色置于所有其他角色之上,但即使我检查它,机器人似乎也没有更改昵称的权限。

if (msg.content === '!ping') {
    msg.reply('Pong!')
    msg.reply(msg.author.username)
    msg.member.setNickname('RandomName').catch(e=>console.log(e))
    console.log(msg.guild.members.find("id",client.user.id).hasPermission("MANAGE_NICKNAMES"));
}

它给了我答案 true 来检查我是否有权限,但它给了我错误:DiscordAPIError: Missing Permissions 到 setNickname 命令。

【问题讨论】:

  • 假设您正在自己测试此命令,在您创建的公会中,机器人将无法更改您的昵称。公会所有者拥有最高等级,机器人(或没有人)将能够更改所有者的昵称

标签: javascript discord discord.js


【解决方案1】:

机器人无法更改公会所有者或具有更高角色的成员的昵称。首先检查以确保用户不是所有者。

try {
  if (msg.guild.me.permissions.missing('MANAGE_NICKNAMES')) return msg.reply('I\'m missing permissions.');
  if (msg.author.id === msg.guild.ownerID) return msg.reply('I can\'t change your nickname.');

  msg.member.setNickname('test');
} catch(err) {
  console.error(err);
}

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 2021-05-14
    • 2017-08-17
    • 2015-11-21
    • 2021-11-01
    • 2021-03-10
    • 2018-12-09
    • 1970-01-01
    • 2014-06-12
    相关资源
    最近更新 更多