const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('myDatabase.db'); module.exports = { name: 'antimention', description: 'Gère la protection contre les mentions dans le serveur.', utilisation: 'antimention ', category: 'antiraid', emote: '✋', async execute(message, args, client) { const botId = client.user.id; const guildId = message.guild.id; let type = args[0]; const nombre = args[1]; if (!type || !nombre || (type !== 'whitelist' && type !== 'wl' && type !== 'owner' && type !== 'buyer' && type !== 'off')) { return message.reply('Veuillez utiliser la commande correctement: `+antimention whitelist/owner/buyer/off `.'); } if (type === 'wl') { type = 'whitelist'; } if (isNaN(nombre)) { return message.reply('Le nombre fourni n\'est pas valide. Veuillez fournir un nombre.'); } 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) : {}); }); }); if (!data[guildId]) { data[guildId] = {}; } if (type === 'off') { data[guildId].antimention = null; message.reply(`La protection contre les mentions a été désactivée.`); } else { data[guildId].antimention = { type: type, nombre: nombre }; message.reply(`La protection contre les mentions a été configurée pour les ${type} avec un nombre de ${nombre}.`); } db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], function(err) { if (err) { console.error(err.message); return message.reply('Une erreur est survenue lors de la mise à jour de la configuration.'); } }); }, };