我怎样才能有一个静态集合

How can i have a static collection

所以,我正在尝试使用 NodeJS 在 Discord 上做一个备份系统,我的问题是,当我保存包含所有角色的集合时,当我修改服务器上的角色时,它也会更改集合,这很奇怪.有我的代码。


// My index

const { Collection, Client } = require('discord.js');
const client = new Client();

client.backup = new Collection();




// My command to set the collection

client.backup.set(message.guild.id, message.guild.roles.cache.array());




// My command to get the collection

const backup = client.backup.get(message.guild.id)

console.log(backup)

好的,所以一切正常,我的命令 return 集合,但是..当我修改一个角色并且我再次发出命令“获取”集合而不是“设置”它更新合集,不知道为什么。

每次我做

client.backup.get(message.guild.id)

如果我在服务器上修改了某些内容,但我不希望那样,则集合会更新。

.array() 在内部缓存并在更改时重建。

改为:

client.backup.set(message.guild.id, Array.from(message.guild.roles.cache.values()));