首页 > 解决方案 > 如何在discord js中为每个服务器存储不同的数组?

问题描述

我正在尝试制作一个机器人,通过在发送脏话后立即删除它们来阻止脏话。该机器人具有将单词添加到黑名单的命令,并且工作正常。但我想做的是我想为每台服务器创建一个单独的黑名单。我怎样才能做到这一点?

标签: javascriptnode.jsdiscorddiscord.js

解决方案


正如变量提到的:

您可以使用Maps并将键设置为公会 ID,并将值设置为要列入黑名单的单词数组。

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

const blacklist = new Map();

// the key (message.guild.id), is how you'll be able to reference this element in the future
blacklist.set(message.guild.id, { blacklisted: ['@#$%'] });

// returns array: ['@#$%']
blacklist.get(message.guild.id).blacklisted

代码片段:

const blacklist = new Map();

// the key (message.guild.id), is how you'll be able to reference this element in the future
blacklist.set('example', { blacklisted: ['@#$%'] });

console.log(blacklist.get('example').blacklisted);
blacklist.get('example').blacklisted.push('*&^%');
console.log(blacklist.get('example').blacklisted);

console.log(blacklist.has('notExample'));


推荐阅读