const sqlite3 = require('sqlite3').verbose(); const { Events, ChannelType } = require("discord.js"); const db = new sqlite3.Database('myDatabase.db'); const { getPermissionLevel } = require('../../fonction/getPermissionLevel'); module.exports = { name: Events.MessageCreate, async execute(message, client) { const botId = message.client.user.id; const guildId = message.guild.id; if (message.channel.type === ChannelType.DM) return; if (!message.content.includes('@everyone')) return; let data = await new Promise((resolve, reject) => { db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => { if (err) { console.error(err.message); reject(err); } resolve(row ? JSON.parse(row.value) : {}); }); }); const antieveryoneConfig = data[guildId]?.antieveryone; let status = 'off'; if (antieveryoneConfig) { ({ status} = antieveryoneConfig); } if (status === "off") return; data.whitelist = data.whitelist || {}; data.whitelist[guildId] = data.whitelist[guildId] || {}; const whitelist = data.whitelist[guildId]; const user = message.member; if (status === "on") { if (await getPermissionLevel(user, client) >= 10) return; if (whitelist[message.author.id]) return; message.delete().catch(err => {; }); } else if (status === "max") { const levelperm = await getPermissionLevel(user, client); if (levelperm >= 10) return; message.delete().catch(err => {; }); } }, };