JaBa/commands/Moderation/setwarns.js

81 lines
2 KiB
JavaScript
Raw Normal View History

2021-12-10 21:39:54 +05:00
const Command = require("../../base/Command.js");
class Setwarns extends Command {
constructor (client) {
super(client, {
name: "setwarns",
dirname: __dirname,
enabled: true,
guildOnly: true,
aliases: [],
memberPermissions: [ "MANAGE_GUILD" ],
botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS", "BAN_MEMBERS", "KICK_MEMBERS" ],
nsfw: false,
ownerOnly: false,
cooldown: 3000
});
}
async run (message, args, data) {
const sanction = args[0];
if(!sanction || (sanction !== "kick" && sanction !== "ban")){
return message.error("moderation/setwarns:MISSING_TYPE");
}
const number = args[1];
if(number === "reset"){
if(sanction === "kick"){
data.guild.plugins.warnsSanctions.kick = false;
data.guild.markModified("plugins.warnsSanctions");
data.guild.save();
return message.success("moderation/setwarns:SUCCESS_KICK_RESET", {
prefix: data.guild.prefix,
count: number
});
}
if(sanction === "ban"){
data.guild.plugins.warnsSanctions.ban = false;
data.guild.markModified("plugins.warnsSanctions");
data.guild.save();
return message.success("moderation/setwarns:SUCCESS_BAN_RESET", {
prefix: data.guild.prefix,
count: number
});
}
}
if(!number || isNaN(number)){
return message.error("misc:INVALID_NUMBER");
}
if(number < 1 || number > 10){
return message.error("misc:INVALID_NUMBER_RANGE", 1, 10);
}
if(sanction === "kick"){
data.guild.plugins.warnsSanctions.kick = number;
data.guild.markModified("plugins.warnsSanctions");
data.guild.save();
return message.success("moderation/setwarns:SUCCESS_KICK", {
prefix: data.guild.prefix,
count: number
});
}
if(sanction === "ban"){
data.guild.plugins.warnsSanctions.ban = number;
data.guild.markModified("plugins.warnsSanctions");
data.guild.save();
return message.success("moderation/setwarns:SUCCESS_BAN", {
prefix: data.guild.prefix,
count: number
});
}
}
}
module.exports = Setwarns;