const createRoles = require('./createRoles'); const createChannels = require('./createChannels'); const { sendVerificationEmbed } = require('../systems/verification'); const { sendTicketEmbed } = require('../systems/tickets'); const { sendDisclaimerEmbed, sendRulesEmbed } = require('../systems/embeds'); const { successEmbed, infoEmbed, createEmbed } = require('../utils/embeds'); const { Colors } = require('../config'); module.exports = { name: 'setup server', async execute(client, message) { const startEmbed = createEmbed({ title: '🚀 Server Setup', description: [ '> Starting full server setup...', '', '```', 'Phase 1: Creating Roles', 'Phase 2: Creating Channels', 'Phase 3: Rules & Disclaimer Embeds', 'Phase 4: Verification System', 'Phase 5: Ticket System', '```', ].join('\n'), color: Colors.PRIMARY, }); await message.reply({ embeds: [startEmbed] }); // Phase 1: Roles await message.reply({ embeds: [infoEmbed('Phase 1/5', 'Creating roles...')] }); await createRoles.execute(client, message); // Phase 2: Channels await message.reply({ embeds: [infoEmbed('Phase 2/5', 'Creating channels...')] }); await createChannels.execute(client, message); // Phase 3: Rules & Disclaimer await message.reply({ embeds: [infoEmbed('Phase 3/5', 'Posting rules & disclaimer embeds...')] }); try { await sendRulesEmbed(client); await message.reply({ embeds: [successEmbed('Rules', 'Rules embed sent to 📜・rules')] }); } catch (err) { await message.reply({ content: `⚠️ Rules embed issue: ${err.message}` }); } try { await sendDisclaimerEmbed(client); await message.reply({ embeds: [successEmbed('Disclaimer', 'Disclaimer embed sent to ⚠️・disclaimer')] }); } catch (err) { await message.reply({ content: `⚠️ Disclaimer embed issue: ${err.message}` }); } // Phase 4: Verification await message.reply({ embeds: [infoEmbed('Phase 4/5', 'Setting up verification...')] }); try { await sendVerificationEmbed(client); await message.reply({ embeds: [successEmbed('Verification', 'Verification embed sent to ✅・verify')] }); } catch (err) { await message.reply({ content: `⚠️ Verification setup issue: ${err.message}` }); } // Phase 5: Tickets await message.reply({ embeds: [infoEmbed('Phase 5/5', 'Setting up ticket system...')] }); try { await sendTicketEmbed(client); await message.reply({ embeds: [successEmbed('Tickets', 'Ticket embed sent to 🎫・open-ticket')] }); } catch (err) { await message.reply({ content: `⚠️ Ticket setup issue: ${err.message}` }); } // Done const completeEmbed = createEmbed({ title: '✅ Setup Complete', description: [ '> **Wyvern Softworks** server is ready!', '', '```', '✓ Roles created and ordered', '✓ All categories & channels set up', '✓ Rules & disclaimer posted', '✓ Verification system active', '✓ Ticket system active', '✓ Booster auto-role enabled', '✓ Welcome system enabled', '```', ].join('\n'), color: Colors.SUCCESS, }); await message.reply({ embeds: [completeEmbed] }); }, };