From 2637c18b6ef3a977dbe3833cc1ece24ceb9574ae Mon Sep 17 00:00:00 2001 From: Superchupu Date: Fri, 1 Oct 2021 22:24:56 +0100 Subject: [PATCH] feat: detector whitelist --- detector/detector.js | 13 +++++++++---- detector/whitelist.json | 23 +++++++++++++++++++++++ events/messageCreate.js | 8 ++++++-- 3 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 detector/whitelist.json diff --git a/detector/detector.js b/detector/detector.js index 6b1a2b3..12784e5 100644 --- a/detector/detector.js +++ b/detector/detector.js @@ -1,9 +1,16 @@ module.exports = async (client, message, database, edited) => { const levelNames = { 0: 'low', 1: 'medium', 2: 'high' }; const detect = require(`./levels/${levelNames[database?.level ?? 1]}.js`); + const whitelist = require('./whitelist.json'); + + for (const word of whitelist) { + if (RegExp(`${word}\\b`, 'iu').test(message.content)) { + return; + } + } if (!detect(message.content)) { - return false; + return; } if (message.deletable) { @@ -20,7 +27,7 @@ module.exports = async (client, message, database, edited) => { const channel = message.guild.channels.cache.get(logs); if (!channel?.permissionsFor(client.user).has('SEND_MESSAGES') || !channel.viewable) { - return true; + return; } channel?.send({ @@ -39,6 +46,4 @@ module.exports = async (client, message, database, edited) => { } }] }); - - return true; }; diff --git a/detector/whitelist.json b/detector/whitelist.json new file mode 100644 index 0000000..3543be3 --- /dev/null +++ b/detector/whitelist.json @@ -0,0 +1,23 @@ +[ + "delete g", + "every day, countless lives are lost by misuse of the letter g.", + "fuck g", + "g < h", + "g annihilation squad", + "g bad", + "g is bad", + "g is haram", + "g is shit", + "g should not exist", + "g spies", + "g spy", + "g sucks", + "g-spies", + "g-spy", + "h > g", + "h better than g", + "h is better than g", + "hate g", + "no g", + "school is g" +] diff --git a/events/messageCreate.js b/events/messageCreate.js index a12fa01..961e69b 100644 --- a/events/messageCreate.js +++ b/events/messageCreate.js @@ -11,8 +11,12 @@ module.exports = { const array = message.content.replace(message.prefix, '').split(' '); const args = array.slice(1); - const badLetterDetected = await require('../detector/detector.js')(client, message, database); - if (badLetterDetected || !client.commands.has(array[0]) || !message.content.startsWith(message.prefix) || !message.channel.permissionsFor(client.user).has('SEND_MESSAGES')) { + if (!message.content.startsWith(message.prefix)) { + await require('../detector/detector.js')(client, message, database); + return; + } + + if (!client.commands.has(array[0]) || !message.channel.permissionsFor(client.user).has('SEND_MESSAGES')) { return; }