const { SlashCommandBuilder } = require('discord.js'); const { readDb, writeDb } = require('../../backend/db.js'); module.exports = { name: 'config-leave', description: 'Configure the leave message for this server.', enabled: true, builder: new SlashCommandBuilder() .setName('config-leave') .setDescription('Configure the leave message for this server.') .addSubcommand(subcommand => subcommand .setName('set-channel') .setDescription('Set the channel for leave messages.') .addChannelOption(option => option.setName('channel') .setDescription('The channel to send leave messages to.') .setRequired(true) ) ) .addSubcommand(subcommand => subcommand .setName('set-message') .setDescription('Set the leave message.') .addStringOption(option => option.setName('message') .setDescription('The leave message. Use {user} for username and {server} for server name.') .setRequired(true) ) ) .addSubcommand(subcommand => subcommand .setName('disable') .setDescription('Disable leave messages.') ), async execute(interaction) { const db = readDb(); const guildId = interaction.guildId; const subcommand = interaction.options.getSubcommand(); if (!db[guildId]) { db[guildId] = {}; } if (subcommand === 'set-channel') { const channel = interaction.options.getChannel('channel'); db[guildId].leaveChannel = channel.id; db[guildId].leaveEnabled = true; writeDb(db); await interaction.reply(`Leave channel set to ${channel}.`); } else if (subcommand === 'set-message') { const message = interaction.options.getString('message'); db[guildId].leaveMessage = message; db[guildId].leaveEnabled = true; writeDb(db); await interaction.reply(`Leave message set to: "${message}"`); } else if (subcommand === 'disable') { db[guildId].leaveEnabled = false; writeDb(db); await interaction.reply('Leave messages disabled.'); } }, };