diff options
Diffstat (limited to 'commands/Moderation/ban.js')
| -rw-r--r-- | commands/Moderation/ban.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/commands/Moderation/ban.js b/commands/Moderation/ban.js new file mode 100644 index 0000000..3582bc3 --- /dev/null +++ b/commands/Moderation/ban.js @@ -0,0 +1,40 @@ +exports.run = async (bot, msg, args) => { + if (!msg.member.hasPermission('BAN_MEMBERS')) return msg.reply('You don\'t have permssion to ban members.'); + if (!msg.guild.member(bot.user).hasPermission('BAN_MEMBERS')) return msg.reply('I don\'t have permssion to ban members.'); + + const member = msg.mentions.members.first(); + if (!member) return await msg.reply('Who am I gonna ban?'); + const reason = args.join(' ').slice(3 + member.user.id.length); + + await member.ban({ days: 7, reason: msg.author.tag + (reason ? ': ' + reason : '') }) + .catch(err => { msg.reply('There was an error.'); console.error(err.stack);}); + msg.channel.send(`Alright, I banned **${member.user.tag}**${(reason ? ` for the reason **${reason}**.` : '.')}`); + + const { RichEmbed } = require('discord.js'); + try { + const embed = new RichEmbed() + .setColor(0x00ae86) + .setAuthor(member.user.tag, member.user.avatarURL) + .setTitle(`:hammer: **${member.user.tag}**`) + .setDescription(`*${member.user.tag}* was banned from the server by *${msg.author.tag}*.`) + .addField('Reason', reason ? reason : '*none*') + .addField('Moderator', msg.author.tag) + .setTimestamp() + .setFooter(`${msg.author.tag} banned ${member.user.tag}`, msg.author.avatarURL); + msg.guild.channels.find('name', 'logs').send({ embed }); + } + catch (err) { + console.error(err.stack); + } +}; + +exports.conf = { + aliases: [], + guildOnly: true, +}; + +exports.help = { + name: 'ban', + description: 'Ban a user from this server.', + usage: '@user <...reason>', +}; |
