You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Luno/events/guildMemberRemove.js

47 lines
2.7 KiB

const GuildData = require('../models/guild');
const Responses = require('../models/responses');
const sendResponse = require('../util/response/sendresponse');
const Mute = require('../models/mute');
const chalk = require('chalk');
const Discord = require('discord.js');
module.exports = async (client, member) => {
let tg = await GuildData.findOne({gid: member.guild.id});
let tr = await Responses.findOne({gid: member.guild.id});
if (
tr && tr.bindings.has('leave') && tr.responses.has(tr.bindings.get('leave'))
&& tg.lch.length && member.guild.channels.cache.has(tg.lch)
&& member.guild.channels.cache.get(tg.lch).permissionsFor(client.user.id).has("SEND_MESSAGES")
&& !client.users.cache.get(member.id).bot
) {
try {member.guild.channels.cache.get(tg.lch).send(await sendResponse(member, member.guild.channels.cache.get(tg.lch), 'xdlol', client, tr.responses.get(tr.bindings.get('leave'))));} catch {}
}
let cm = await Mute.findOne({uid: member.id});
if (cm) {
member.guild.members.ban(member.id)
//client.users.cache.get(client.developers[0]).send(`Attempted to ban ${member.displayName}`)
.then(() => member.guild.channels.cache.get('807471984806985729').send("<@330547934951112705>", new Discord.MessageEmbed()
.setAuthor(member.displayName, client.users.cache.get(member.id).avatarURL())
.setTitle("Mute Evasion Detected!")
.setDescription(`<@${member.id}> has evaded their mute, and I've automatically banned them!`)
.addField("Original Mod", `<@${cm.id}>`)
.setColor('c77dff')
.setFooter("Luno", client.user.avatarURL())
.setTimestamp()
)).catch(e => {
console.error(`\n${chalk.red('[ERROR]')} >> ${chalk.yellow(`At [${date}] | Occurred while trying to ban a member for mute evasion`)}`, e);
member.guild.channels.cache.get('807471984806985729').send("<@&807643404904562738> **Failed automatic mute evasion ban!**", new Discord.MessageEmbed()
.setAuthor(member.displayName, client.users.cache.get(member.id).avatarURL())
.setTitle("Mute Evasion Detected!")
.setDescription(`<@${member.id}> has evaded their mute, but I was not able to automatically ban them! Their user ID is \`${member.id}\`.`)
.addField("Original Mod", `<@${cm.id}>`)
.setColor('c77dff')
.setFooter("Luno", client.user.avatarURL())
.setTimestamp()
);
});
}
client.user.setActivity(`over ${client.guilds.cache.get(client.misc.neptune).members.cache.size} members!`, {type: "WATCHING"});
};