首页 > 解决方案 > 如何使用 JSON 文件制作黑名单?

问题描述

我想用 JSON 文件创建一个黑名单。我想把 id 放在 JSON 文件中,当成员加入带有机器人的行会时,该成员被禁止。

我的代码:

bot.on("guildMemberAdd", (member) => {
    let blacklist = JSON.parse(fs.readFileSync("./blacklist.json", "utf8"));
        bot.guilds.forEach((guild) => {
          if (!blacklist[member.id]) return
          if(blacklist[member.id].state === true) {
            member.ban()
          }
        })
    })

json文件

{
    "id":"664514598086508605"
}

标签: javascriptnode.jsdiscord.js

解决方案


我会使用该.includes()方法,但它需要对您的 json 文件进行一些更改,以便它像这样

{
  "123456789123456789",
  "987654321987654321"
}

那么您的代码将变为

const blacklist = require('blacklisted.json')

// ...

bot.on("guildMemberAdd", (member) => {
  if (blacklisted.includes(member.id)) {
    member.{ reason: 'Automatic ban, blacklisted user' }
  }
})

此代码将自动禁止被列入黑名单的任何人加入该机器人所在的服务器

使用您的原始代码

const blacklist = require('blacklisted.json')

// ...

bot.on("guildMemberAdd", (member) => {
  bot.guilds.forEach((guild) => {
    if (blacklisted.includes(member.id)) {
      member.{ reason: 'Automatic ban, blacklisted user' }
    }
  });
});

当用户加入其中一个服务器时,这将禁止该用户访问所有服务器


推荐阅读