【问题标题】:Discord.js v12 Nick commandDiscord.js v12 尼克命令
【发布时间】:2021-04-23 22:53:54
【问题描述】:

所以基本上我有这个 nick 命令可以更改指定的用户昵称,但是如果我尝试在具有“员工”角色的人以及我身上运行该命令,它会说它改变了我的名字,但我在控制台上出现错误。现在我假设它正在发生,因为员工角色比我的机器人处于更高的位置,我知道命令是什么或如何修复它。

client.on('message', async message => {
  if(message.content.toLowerCase().startsWith(prefix + "nick")) {
    if(message.content.toLowerCase() == prefix + "nick") return message.channel.send('Pls mention someone and do `.nick @user [your text]`')
    const newEmbed = new Discord.MessageEmbed()
    .setColor("RANDOM")
    if(!message.member.hasPermission("MANAGE_NICKNAMES")) {
      return message.channel.send("You do not have permission to do that since you're missing `manage_nicknames` perm")}
      if(!message.guild.me.roles.highest.position) return message.channel.send("I can't change that user nickname since my role is lower than his one.")
      if(message.author.bot) return;
      if(message.guild === null) return
      let args = message.content.slice(prefix.length).split(/ +/);
      let mentionedUser = message.mentions.members.first() || message.guild.members.cache.get(args[1])
      if(mentionedUser.hasPermission("ADMINISTRATOR")) return message.channel.send("I can't change this user nickname since he has `administrator` perm")
      let name = args.slice(2).join(" ");
      newEmbed.setDescription("**Mention a user to change his nickname.**")
      .setTimestamp()
      newEmbed.setDescription(`I have successfully changed **${mentionedUser.user.tag}** nickname to **${name}**.`);

      mentionedUser.setNickname(name)
      message.channel.send(newEmbed);
  
} else {
  if(message.content.toLowerCase() === prefix + "help nick") {
    const newEmbed = new Discord.MessageEmbed()
    .setColor('#00B2B2')
    .setTitle('**Nick Help**')
    newEmbed.setDescription('this command is changing peoples names for example `.nick @user 123`.')
    .setFooter(`Requested by ${message.author.tag}`, message.author.displayAvatarURL())
    .setTimestamp();
    message.channel.send(newEmbed)
  }
}})

【问题讨论】:

  • 您能否将完整的错误添加到您的问题中?

标签: javascript discord discord.js


【解决方案1】:

正如您所认为的,错误是由于机器人对这些员工的权限不足。

在您的问题中出现错误会很有用,但我想这是因为权限不足。

要解决这个问题,我知道的唯一方法是将你的机器人的角色在层次结构中置于不和谐公会角色列表中的工作人员角色之上。

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2021-02-18
    • 1970-01-01
    • 2021-01-18
    • 2021-04-14
    • 2021-04-19
    • 2021-04-18
    • 2021-01-30
    • 2021-01-26
    相关资源
    最近更新 更多