cardboardbox/commands/Moderation/warn.js

31 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-02-04 14:50:42 +00:00
exports.run = async (client, message, args, level) => {
const user = message.mentions.users.first();
2020-02-04 15:00:42 +00:00
client.parseUser(message, user);
const modlog = client.channels.find('name', config.modLogChannel);
2020-02-04 14:50:42 +00:00
const caseNum = await caseNumber(client, modlog);
2020-02-04 15:00:42 +00:00
if (!modlog) return message.reply('I cannot find a modlog channel.');
2020-02-04 14:50:42 +00:00
if (message.mentions.users.size < 1) return message.reply('You must mention someone to warn them.').catch(console.error);
const reason = args.splice(1, args.length).join(' ') || `Awaiting moderator's input. Use ${message.settings.prefix}reason ${caseNum} <reason>.`;
const embed = new RichEmbed()
2020-02-05 18:29:35 +00:00
.setColor(0x2f3136)
2020-02-04 14:50:42 +00:00
.setTimestamp()
.setDescription(`**Action:** Warning\n**Target:** ${user.tag}\n**Moderator:** ${message.author.tag}\n**Reason:** ${reason}`)
.setFooter(`Case ${caseNum}`);
return client.channels.get(modlog.id).send({embed});
};
exports.conf = {
enabled: true,
2020-02-06 19:25:06 +00:00
guildOnly: true,
2020-02-04 14:50:42 +00:00
aliases: ["w","citation"],
permLevel: "Moderator"
};
exports.help = {
name: "warn",
category: "Moderation",
description: "Issues a citation to a specified user.",
usage: "warn <user> <reason>"
};