我如何使我的不和的数组是不同的服务器?



所以我的discord bot有一个数组,字符串形式的对象可以被我制作的discord命令推入该数组,然后该数组被导出到另一个事件文件,该文件检查数组中的任何这些单词是否存在于消息中。

但是我遇到了一个问题如果我添加一个单词比如"a"从服务器1,然后word "从服务器2中,每个服务器都检查单词a和b,这绝对不是我想要的。

我尝试使用maps(),但不幸的是,由于某些原因,我无法在导出的地图上运行方法。

有办法解决这个问题吗?

您绝对应该考虑切换到数据库!对于初学者来说,最简单快捷的数据库是quick.db

下面是一个例子:

const obj_struct = {
val: {
word: `foo`
}
};
db.push(`words_${message.guild.id}`, obj_struct); // it is now stored for that specific guild, now you may fetch and check it like so:
const x = client.db.get(`words_${message.guild.id}`); // does not return a promise so no need of async / await / .then() refer docs, will only get values stored for your specific guild!

尝试将每个数组映射到服务器ID

所以你的数组不是这样的

[ 'a', 'b']

它看起来像

{
"Server1": ['a'],
"Server2": ['b']
}

当您编辑或读取数组时,只获取映射到消息来自的服务器的数组。

最新更新