Skip to content

Commit

Permalink
feat: nickname detector
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperchupuDev committed Sep 25, 2021
1 parent f2cd13b commit 2c65b72
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions events/guildMemberUpdate.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
module.exports = {
name: 'guildMemberUpdate',
once: false,
async execute(oldMember, newMember, client) {
if (newMember.partial) {
await newMember.fetch();
}

const badLetters = require('../detector/detection.json').join('');
const detector = RegExp(`[${badLetters}]`, 'giu');
const cleanNickname = newMember.displayName.replace(/[.\-_ /\\()[\]]/giu, '');
const result = [...cleanNickname.matchAll(detector)];

if (result.length / cleanNickname.length < 0.75 || !newMember.manageable || !newMember.guild.me.permissions.has('MANAGE_NICKNAMES')) {
return;
}

const newNickname = newMember.nickname.replace(detector, 'h');
newMember.setNickname(newNickname);

if (newMember.user.bot) {
return;
}

require('../detector/counter.js')(client, newMember.guild.id, newMember.id);

const logs = client.db.prepare('SELECT logs FROM guilds WHERE id = ?').get(newMember.guild.id)?.logs;
const channel = newMember.guild.channels.cache.get(logs);

channel?.send({
embeds: [{
title: 'G Removal',
url: 'https://h-projects.github.io/app/fuck-g/',
color: client.config.color,
fields: [
{ name: 'Type', value: 'Nickname' },
{ name: 'User', value: `${newMember} (${newMember.id})` },
{ name: 'Nickname', value: newMember.nickname }
],
thumbnail: {
url: newMember.user.displayAvatarURL({ dynamic: true })
}
}]
});
}
};

0 comments on commit 2c65b72

Please sign in to comment.