mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-29 00:24:58 +05:00
74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
|
const Command = require("../../base/Command.js");
|
||
|
|
||
|
class Unban extends Command {
|
||
|
|
||
|
constructor (client) {
|
||
|
super(client, {
|
||
|
name: "unban",
|
||
|
dirname: __dirname,
|
||
|
enabled: true,
|
||
|
guildOnly: true,
|
||
|
aliases: [ "deban", "déban" ],
|
||
|
memberPermissions: [ "BAN_MEMBERS" ],
|
||
|
botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS", "BAN_MEMBERS" ],
|
||
|
nsfw: false,
|
||
|
ownerOnly: false,
|
||
|
cooldown: 3000
|
||
|
});
|
||
|
}
|
||
|
|
||
|
async run (message, args) {
|
||
|
|
||
|
let user = null;
|
||
|
|
||
|
if(!args[0]){
|
||
|
return message.error("moderation/unban:MISSING_ID");
|
||
|
}
|
||
|
|
||
|
// Check if the arg is an ID or a username
|
||
|
const isId = !isNaN(args[0]);
|
||
|
|
||
|
if(isId){
|
||
|
// Try to find a user with that ID
|
||
|
await this.client.users.fetch(args[0]).then((u) => {
|
||
|
// if a user was found
|
||
|
user = u;
|
||
|
}).catch(() => {});
|
||
|
} else if(!isId) {
|
||
|
const arr = args[0].split("#");
|
||
|
if(arr.length < 2){
|
||
|
return message.error("misc:NO_USER_FOUND_ID", {
|
||
|
id: args[0]
|
||
|
});
|
||
|
}
|
||
|
user = this.client.users.filter((u) => u.username === arr[0]).find((u) => u.discriminator === arr[1]);
|
||
|
}
|
||
|
|
||
|
if(!user){
|
||
|
return message.error("misc:NO_USER_FOUND_ID", {
|
||
|
id: args[0]
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// check if the user is banned
|
||
|
const banned = await message.guild.fetchBans();
|
||
|
if(!banned.some((e) => e.user.id === user.id)){
|
||
|
return message.success("moderation/unban:NOT_BANNED", {
|
||
|
username: user.tag
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// Unban user
|
||
|
message.guild.members.unban(user).catch(() => {});
|
||
|
|
||
|
// Send a success message in the current channel
|
||
|
message.success("moderation/unban:UNBANNED", {
|
||
|
username: user.tag,
|
||
|
server: message.guild.name
|
||
|
});
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
module.exports = Unban;
|