Blacklist no longer errors on first run
This commit is contained in:
parent
fc5184d02b
commit
9edfb49fcb
1 changed files with 114 additions and 0 deletions
114
blacklist.js
Normal file
114
blacklist.js
Normal file
|
@ -0,0 +1,114 @@
|
|||
exports.run = async (client, message, [action, ...member]) => {
|
||||
const settings = message.settings;
|
||||
|
||||
if(settings.blacklisted == "ARRAY") {
|
||||
await client.settings.set(message.guild.id, [], "blacklisted");
|
||||
}
|
||||
|
||||
if(!action) {
|
||||
return message.channel.send(
|
||||
`<:error:466995152976871434> You didn't tell me if I was meant to add or remove someone from the blacklist! Usage: \`${client.commands.get(`blacklist`).help.usage}\``
|
||||
)
|
||||
}
|
||||
|
||||
member = member.join(" ")
|
||||
|
||||
if(!member) {
|
||||
return message.channel.send(
|
||||
`<:error:466995152976871434> You didn't tell me who to blacklist! Usage: \`${client.commands.get(`blacklist`).help.usage}\``
|
||||
);
|
||||
};
|
||||
|
||||
let user = message.mentions.members.first();
|
||||
|
||||
if(action == "add") {
|
||||
if (!user) {
|
||||
let users;
|
||||
users = client.searchForMembers(message.guild, member);
|
||||
if (users.length > 1)
|
||||
return message.channel.send(
|
||||
"<:error:466995152976871434> Found multiple users! Please be more specific or mention the user instead."
|
||||
);
|
||||
else if (users.length == 0)
|
||||
return message.channel.send(
|
||||
"<:error:466995152976871434> That user doesn't seem to exist. Try again!"
|
||||
);
|
||||
user = users[0];
|
||||
};
|
||||
|
||||
if(user.id === client.user.id) {
|
||||
return message.channel.send('lol no');
|
||||
};
|
||||
|
||||
if(user.id === message.member.id) {
|
||||
return message.channel.send('<:error:466995152976871434> You can\'t blacklist yourself!');
|
||||
};
|
||||
|
||||
let blacklisted = false;
|
||||
|
||||
if(settings.blacklisted.length > 0) {
|
||||
settings.blacklisted.forEach(function(ID) {
|
||||
if(ID == user.id) {
|
||||
blacklisted = true;
|
||||
}
|
||||
});
|
||||
|
||||
if(blacklisted == true) {
|
||||
return message.channel.send('<:error:466995152976871434> This person has already been blacklisted!');
|
||||
};
|
||||
};
|
||||
|
||||
client.settings.push(message.guild.id, user.id, "blacklisted")
|
||||
|
||||
return message.channel.send(`<:success:466995111885144095> Blacklisted \`${user.user.tag}\``)
|
||||
};
|
||||
|
||||
|
||||
if (action == "remove") {
|
||||
if (!user) {
|
||||
let users;
|
||||
users = client.searchForMembers(message.guild, member);
|
||||
if (users.length > 1)
|
||||
return message.channel.send(
|
||||
"<:error:466995152976871434> Found multiple users! Please be more specific or mention the user instead."
|
||||
);
|
||||
else if (users.length == 0)
|
||||
return message.channel.send(
|
||||
"<:error:466995152976871434> That user doesn't seem to exist. Try again!"
|
||||
);
|
||||
user = users[0];
|
||||
};
|
||||
|
||||
let blacklisted = false;
|
||||
|
||||
settings.blacklisted.forEach(function(ID) {
|
||||
console.log("does this work")
|
||||
if(ID == user.id) {
|
||||
blacklisted = true;
|
||||
}
|
||||
});
|
||||
|
||||
if(blacklisted != true) {
|
||||
return message.channel.send('<:error:466995152976871434> This user isn\'t blacklisted!');
|
||||
};
|
||||
|
||||
client.settings.remove(message.guild.id, user.id, "blacklisted")
|
||||
|
||||
return message.channel.send(`<:success:466995111885144095> Removed \`${user.user.tag}\` from the blacklist.`)
|
||||
};
|
||||
};
|
||||
|
||||
exports.conf = {
|
||||
enabled: true,
|
||||
guildOnly: true,
|
||||
aliases: [],
|
||||
permLevel: "Administrator",
|
||||
requiredPerms: []
|
||||
};
|
||||
|
||||
exports.help = {
|
||||
name: "blacklist",
|
||||
category: "Moderation",
|
||||
description: "Allows you to configure Woomy's blacklist. Blacklisted users cannot use commands.",
|
||||
usage: "blacklist [add/remove] [member]"
|
||||
};
|
Loading…
Reference in a new issue