【问题标题】:How can i have a static collection我怎样才能有一个静态集合
【发布时间】:2021-06-29 02:40:17
【问题描述】:

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


// 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)

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

每次我做

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

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

【问题讨论】:

    标签: javascript node.js collections discord discord.js


    【解决方案1】:

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

    改为:

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

    【讨论】:

    • 它仍然在变化,当我删除一个角色时,它也会从集合中删除它
    • @Lemaaa 好吧,您使用公会 ID 作为收藏的关键。因此,在每次更新时,该键的值都会被覆盖。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多