mirror of
https://github.com/ION606/selmerBot.git
synced 2026-05-14 21:26:54 +00:00
Added moderation commands
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
const { MongoClient, ServerApiVersion } = require('mongodb');
|
||||
const Discord = require('discord.js');
|
||||
const SEVCODES = {
|
||||
none: 0,
|
||||
low: 1,
|
||||
medium: 2,
|
||||
high: 3
|
||||
}
|
||||
const col_list = {0: '0ed300', 1: 'f6ff00', 2: 'ffa100', 3: 'FF0000'}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} bot
|
||||
* @param {*} message the message the mod sent (AKA a DISCORD MESSAGE OBJECT)
|
||||
*/
|
||||
function log(bot, message, command, mentioned, reason, severity) {
|
||||
const client = new MongoClient(bot.mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
|
||||
client.connect(err => {
|
||||
if (err) { return console.log(err); }
|
||||
|
||||
|
||||
client.db(message.guild.id).collection('SETUP').findOne({_id: 'LOG'}).then((doc) => {
|
||||
if (!doc) { return message.channel.send("Server logs not set up yet!"); }
|
||||
const channel = message.guild.channels.cache.get(doc.logchannel);
|
||||
|
||||
//Check severity threshold
|
||||
if (SEVCODES[doc.severity] < severity) { return; }
|
||||
|
||||
let action;
|
||||
if (command.endsWith('e')) { action = (command + 'd'); }
|
||||
else if (command.endsWith('n')) { action = (command + 'ned'); }
|
||||
else { action = (command + 'ed'); }
|
||||
|
||||
const newEmbed = new Discord.MessageEmbed()
|
||||
.setColor(col_list[severity])
|
||||
.setTitle(`User ${mentioned.username}#${mentioned.discriminator} has been ${action}`)
|
||||
//.setURL('https://discordjs.guide/popular-topics/embeds.html#embed-preview')
|
||||
.setDescription(`Reason: ${reason}\n Responsible Mod: ${message.author.username}#${message.author.discriminator}`)
|
||||
.setThumbnail(mentioned.displayAvatarURL())
|
||||
.setTimestamp();
|
||||
|
||||
channel.send({ embeds: [newEmbed] });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { log, SEVCODES }
|
||||
Reference in New Issue
Block a user