const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits, Colors } = require('discord.js'); const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('./database.sqlite'); module.exports = { data: new SlashCommandBuilder() .setName('warn') .setDescription('Warn a user') .addUserOption(option => option.setName('target').setDescription('User to warn').setRequired(true)) .addStringOption(option => option.setName('reason').setDescription('Reason for the warning').setRequired(false)), async execute(interaction) { // EllenÅ‘rizzük, hogy a felhasználónak van-e megfelelÅ‘ joga if (!interaction.member.permissions.has(PermissionFlagsBits.ModerateMembers)) { return interaction.reply({ content: 'You do not have permission to warn members.', ephemeral: true }); } // EllenÅ‘rizzük, hogy a felhasználó emlÃtve lett-e const member = interaction.options.getMember('target'); // Ok megadása const reason = interaction.options.getString('reason') || 'No reason provided'; // Figyelmeztetés hozzáadása az adatbázishoz db.run(`INSERT INTO warnings (user_id, guild_id, reason) VALUES (?, ?, ?)`, [member.id, interaction.guild.id, reason], function(err) { if (err) { console.error(err.message); return interaction.reply({ content: 'An error occurred while logging the warning.', ephemeral: true }); } // Embed létrehozása const warnEmbed = new EmbedBuilder() .setTitle('User Warned') .setColor(Colors.Yellow) .setDescription(`🔸 **User:** ${member.user.tag}\n🔸 **Reason:** ${reason}`) .setFooter({ text: `Moderator: ${interaction.user.tag}` }) .setTimestamp(); // Ãœzenet a csatornán interaction.reply({ embeds: [warnEmbed] }); // Ãœzenet küldése a figyelmeztetett felhasználónak member.user.send({ embeds: [new EmbedBuilder() .setTitle('You Have Been Warned') .setColor(Colors.Red) .setDescription(`âš ï¸ You have been warned in **${interaction.guild.name}**\n🔸 **Reason:** ${reason}`) .setTimestamp() ] }).catch(err => { console.log('Failed to send DM to the user.', err); }); }); } };