提问者:小点点

如何删除成员中除了一个discord.jsv12之外的所有角色?


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

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个答案

匿名用户

不用删除每个角色然后再添加一个,只需使用GuildMemberRemanager.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);
 });