free-code
Version:
Makes free code for discord.js command/bots
51 lines (44 loc) • 1.75 kB
JavaScript
const {
Client,
Message,
MessageEmbed
} = require('discord.js');
require('discord-reply');
module.exports = {
name: 'ban',
description: 'Bans someone!',
/**
* @param {Client} client
* @param {Message} message
* @param {String[]} args
*/
run: async (client, message, args) => {
const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
if (!member)
return message.lineReply('Please mention a user or provide a valid user ID');
if (member === message.member)
return message.lineReply('You cannot ban yourself');
if (member.roles.highest.position >= message.member.roles.highest.position)
return message.lineReply('You cannot ban someone with an equal or higher role');
if (!member.bannable)
return message.lineReply('Provided member is not bannable');
let reason = args.slice(1).join(' ');
if (!reason) reason = '`None`';
if (reason.length > 1024) reason = reason.slice(0, 1021) + '...';
await member.ban({
reason: reason
});
const embed = new MessageEmbed()
.setTitle('Ban Member')
.setDescription(`${member} was successfully banned.`)
.addField('Moderator', message.member, true)
.addField('Member', member, true)
.addField('Reason', reason)
.setFooter(message.member.displayName, message.author.displayAvatarURL({
dynamic: true
}))
.setTimestamp()
.setColor(message.guild.me.displayHexColor);
message.channel.send(embed);
}
}