【问题标题】:I want to give a role to a user that has a changed nickname我想为昵称已更改的用户分配角色
【发布时间】:2019-01-16 02:49:37
【问题描述】:

我想给一个在服务器上更改了昵称的人分配一个角色。它可以工作,但如果您没有更改昵称 ${config.prefix}addrole <user> <role>,但如果他更改了昵称,我需要删除角色和用户之间的空格才能工作。

module.exports.run = async(bot, message, args) => {
  if (!message.member.hasPermission("MANAGE_ROLES")) return message.reply("no⚠");
  if (args[0] == "help") {
    message.reply(`${config.prefix}addrole <User> <role>`);
    return;
  }
  let rMember = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
  if (!rMember) return message.reply(`${config.prefix}addrole <user> <role>`);
  let rRole = args.join('  ').slice(22);
  if (!rRole) return message.reply("Put a role!");
  let gRole = message.guild.roles.find(role => role.name === rRole);
  if (!gRole) return message.reply("Didn't find that role");

  if (rMember.roles.has(gRole.id)) return message.reply("Already has that role");
  await (rMember.addRole(gRole.id));
};

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    我认为这是因为您输入了message.mentions.users.first() 而不是message.mentions.members.first()。您想将角色添加到公会成员,而不是不和谐用户。试着把let rMember = message.mentions.members.first() || message.guild.members.get(args[0]);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 2017-05-05
      • 2021-02-16
      • 2017-08-04
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多