javascript - 如何在discord 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'));
推荐阅读
- react-native - 单击按钮后,Flatlist 不会立即更新
- python - 在不同 CPU 上并行运行的多个 PyTorch 网络
- c++ - C ++宏忽略之后的内容
- javascript - 我可以从 Gatsby 网站获取博客文章吗?
- javascript - 对函数 Javascript 使用括号表示法
- oracle - C 盘中没有 'app\oracle\products\...' 文件夹
- laravel - 无法在 Mac OS Catalina 上全局安装 composer
- react-native - WebRTC 在 react-native (hooks), redux - 未处理的 Promise Rejections
- swift - 有条件地附加到数组
- php - 如何在 php 中回显包含 js 文件的网站页面?