用JSON文件破坏黑名单



我想用json文件创建一个黑名单user.id,当他们使用命令时,它会发送他们是否被列入黑名单,如果他们被列入黑列表,它会发出原因

我尝试这个代码:

const discord = require('discord.js');
const client = new discord.Client();
const prefix = '+';
const token = 'my bot token';
const blacklist = require('./blacklist.json');
client.on('ready', function () {
console.log('bot on');
});
client.on('message', function (message) {
if (message.content.startsWith(prefix + 'check')) {
if (blacklist.includes(client.user.id)) {
message.channel.send('you are blacklist, reason: ${reason}');
} else {
message.channel.send('heyy');
}
}
});
client.login(token);

JSON文件:

{
"user.id1": "reason",
"user.id2": "reason"
}

如果JSON文件中的对象键是用户ID,则可以使用括号表示法来检查对象是否包含键,如下所示:

if (blacklist[user.id]) {
// user.id exists on blacklist
}

此外,我认为您不想检查client.user.id;这是已登录客户端的Discord用户。您可能想要检查发送消息/命令的用户,因此message.author。以下代码应该有效:

client.on('message', function (message) {
if (!message.content.startsWith(prefix + 'check')) return;
if (blacklist[message.author.id])
return message.channel.send(
`You are on the blacklist, reason: ${blacklist[message.author.id]}`
);
message.channel.send('heyy');
});

最新更新