UNPKG

free-code

Version:

Makes free code for discord.js command/bots

51 lines (44 loc) 1.75 kB
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); } }