const { EmbedBuilder, PermissionsBitField } = require('discord.js'); const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('./database.sqlite'); module.exports = { name: 'warn', description: 'Warn a user', permissions: ['ModerateMembers'], // Admin jogosultság async execute(message, args) { // Ellenőrizzük, hogy van-e jogosultsága a felhasználónak if (!message.member.permissions.has(PermissionsBitField.Flags.ModerateMembers)) { return message.reply('You do not have permission to warn members.'); } // Ellenőrizzük, hogy a felhasználó említve lett-e const user = message.mentions.members.first(); if (!user) { return message.reply('Please mention a user to warn.'); } // Ok megadása const reason = args.slice(1).join(' ') || 'No reason provided'; // Figyelmeztetés hozzáadása az adatbázishoz db.run(`INSERT INTO warnings (user_id, guild_id, reason) VALUES (?, ?, ?)`, [user.id, message.guild.id, reason], function(err) { if (err) { console.error(err.message); return message.reply('An error occurred while logging the warning.'); } // Embed létrehozása const warnEmbed = new EmbedBuilder() .setTitle('User Warned') .setColor('#FFFF00') // Sárga szín .setDescription(`🔸 **User:** ${user.user.tag}\n🔸 **Reason:** ${reason}`) .setFooter({ text: `Moderator: ${message.author.tag}` }) .setTimestamp(); // Üzenet a csatornán message.reply({ embeds: [warnEmbed] }); // Üzenet küldése a figyelmeztetett felhasználónak user.user.send({ embeds: [new EmbedBuilder() .setTitle('You Have Been Warned') .setColor('#FF0000') // Piros szín .setDescription(`⚠️ You have been warned in **${message.guild.name}**\n🔸 **Reason:** ${reason}`) .setTimestamp() ] }).catch(err => { console.log('Failed to send DM to the user.', err); }); }); } };