除了一个discord.js v12,如何从成员中删除所有角色?

时间:2020-11-01 14:16:32

标签: node.js discord.js

我希望有一个命令可以从一个成员中删除所有角色,除了一个特定角色。现在,我已经做到了,所以它删除了所有角色,然后延迟添加了我想要保留的那个角色,但是如果某人有很多角色,它也会删除我想要保留的那个角色。我的代码:

member.roles.remove(member.roles.cache).catch(error => {
  message.reply(`failed to remove roles of <@${member.id}>, try moving at least one of my roles above all of the other ones`)
  return
});

antagReason.split('')

setTimeout(() => {
  member.roles.add(antagonistRoleID)
  .then(memberAdded => {
    message.reply(`you have succesfully antagonized <@${member.id}> with the reason **${antagReason}** <:AliasAntag:757173746925830165>`);
  })
  .catch(error => {
    console.log(error);
  });
}, 200);

有没有一种方法可以去除所有角色?预先感谢。

1 个答案:

答案 0 :(得分:1)

使用GuildMemberRoleManager.set()

代替删除每个角色然后再添加一个角色
member.roles
 .set([antagonistRoleID])
 .then((memberAdded) => {
  message.reply(
   `you have succesfully antagonized <@${member.id}> with the reason **${antagReason}** <:AliasAntag:757173746925830165>`
  );
 })
 .catch((error) => {
  console.log(error);
 });