Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在discord js中为每台服务器存储不同的阵列?_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 如何在discord js中为每台服务器存储不同的阵列?

Javascript 如何在discord js中为每台服务器存储不同的阵列?,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在尝试制作一个机器人,通过在发送咒语后立即删除它们来阻止咒语。机器人有一个向黑名单中添加单词的命令,它工作正常。但我想做的是为每台服务器创建一个单独的黑名单。我如何才能做到这一点?如前所述: 您可以使用并设置帮会ID的键和单词数组的值,将其设置为黑名单 下面是一个关于如何做到这一点的快速示例: const blacklist=newmap(); //关键(message.guild.id)是您将来如何引用此元素 set(message.guild.id,{blacklist:['@#$%']

我正在尝试制作一个机器人,通过在发送咒语后立即删除它们来阻止咒语。机器人有一个向黑名单中添加单词的命令,它工作正常。但我想做的是为每台服务器创建一个单独的黑名单。我如何才能做到这一点?

如前所述:

您可以使用并设置帮会ID的键和单词数组的值,将其设置为黑名单

下面是一个关于如何做到这一点的快速示例:

const blacklist=newmap();
//关键(message.guild.id)是您将来如何引用此元素
set(message.guild.id,{blacklist:['@#$%']});
//返回数组:['@#$%']
黑名单.get(message.guild.id).黑名单

代码段:

const blacklist=newmap();
//关键(message.guild.id)是您将来如何引用此元素
set('example',{blacklist:['@#$%']});
log(blacklist.get('example').blacklist);
blacklist.get('example').blacklist.push('*&^%');
log(blacklist.get('example').blacklist);

log(blacklist.has('notExample'))您可以使用并设置帮会ID的键和黑名单单词数组的值。我正在执行for循环,以查看发送的消息是否包含黑名单中的单词之一。我如何实现这一点?(注意:我有一个名为blockedWords的数组,我使用add word命令添加一个单词,使用remove命令从数组中删除一个单词。)有没有办法像使用数组一样使用它?您仍然在使用数组,以前工作过的所有内容都将在不做任何更改的情况下工作。唯一不同的是获取数组的方法。嘿!我有个问题,我似乎无法解决。因此,当收到一条消息时,我将其设置为包含一个默认单词,因此,如果有人添加了一个单词,那么当收到另一条消息时,它就会消失。我如何设置它,使其只运行一次?这是我的全部代码:对不起,我不太确定我是否理解您的问题。我需要使用blacklist.set(message.guild.id,{blacklisted:['@#$%]});在client.on('message'..)部分中,因为它使用message.guild。但是,我正在向这个黑名单添加单词,每当收到消息时,它都会将其设置回默认值。因此,如果我有blacklist.set(message.guild.id,{blacklisted:['@#$%]}),然后我使用add命令添加了一个单词,比如test,现在它将被列入黑名单:['@#$%','test']。但是,正如我所说,当收到消息时,它会将其设置回默认值,即:黑名单:['@#$%']。因此,添加的单词将被删除。:)