Javascript DISCORD.JS-当我';我用的是;member.roles.set([role1,role2]如何修复?

Javascript DISCORD.JS-当我';我用的是;member.roles.set([role1,role2]如何修复?,javascript,discord.js,Javascript,Discord.js,我希望bot删除所有现有角色,并用其他角色替换它们 代码的一小部分(重要部分) 它不会替换角色,而是删除所有角色。 (节点:251)未处理的PromisejectionWarning:DiscordAPIError:无效的表单主体角色[1]:集合已包含此值 我有时也会犯这样的错误 (节点:317)未处理的PromisejectionWarning:TypeError[无效类型]:提供的角色不是一个数组或角色或雪花的集合。数组。某些返回布尔值,是否要使用数组。查找?(另外,始终使用控制台.log(

我希望bot删除所有现有角色,并用其他角色替换它们

代码的一小部分(重要部分)

它不会替换角色,而是删除所有角色。
(节点:251)未处理的PromisejectionWarning:DiscordAPIError:无效的表单主体角色[1]:集合已包含此值

我有时也会犯这样的错误
(节点:317)未处理的PromisejectionWarning:TypeError[无效类型]:提供的角色不是一个数组或角色或雪花的集合。

数组。某些
返回布尔值,是否要使用
数组。查找
?(另外,始终使用
控制台.log()
为了确保变量实际包含您认为它们包含的内容)如何使用Array.find?因为我尝试通过
Array.find更改了
Array。一些
是通过
Array.find来更改的。这一次什么都没有发生。请查看MDN以了解本机函数的功能。您能给我发送到页面的链接吗?只需谷歌“Array find”:
if(command == "promote"){
const member = message.mentions.members.first();

let test1 = member.roles.cache.some(r => r.name === "÷Test1÷")
let test2 = member.roles.cache.some(r => r.name === "∸Test2∸")
let test3 = member.roles.cache.some(r => r.name === "≎Test3≎")

if(!member){ return message.channel.send("Mention a player to promote.")}
      if (test1) {
        member.roles.set([test2, test3]);
        message.channel.send(`Promoted succesfully ${member}`);
        client.channels.cache.find(channel => channel.name === "promotions").send(`**PROMOTION**\n${member} TEST1 -> TEST2 AND TEST3`)

      }
}