const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('myDatabase.db'); module.exports = { name: 'warn', description: 'Ajouter un avertissement à un utilisateur', category: 'moderation', utilisation: 'warn @user ', async execute(message, args, client) { const user = message.mentions.users.first() || client.users.cache.get(args[0]); if (!user) return message.reply('Utilisateur non trouvé.'); const reason = args.slice(1).join(' ') || 'pas de raison fournie'; let lastWarningId = await new Promise((resolve, reject) => { db.get('SELECT MAX(warningId) as lastWarningId FROM warnings WHERE guildId = ? AND userId = ?', [message.guild.id, user.id], (err, row) => { if (err) { console.error(err.message); reject(err); } resolve(row ? row.lastWarningId : 0); }); }); const newWarningId = lastWarningId + 1; db.run('INSERT INTO warnings (guildId, userId, warningId, reason, timestamp) VALUES (?, ?, ?, ?, ?)', [message.guild.id, user.id, newWarningId, reason, Date.now()], (err) => { if (err) { console.error(err.message); return message.reply('Une erreur est survenue lors de l\'ajout de l\'avertissement.'); } message.reply(`Avertissement ajouté pour ${user.tag}: ${reason}`); }); }, };