| 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] }); |
|
|
| |
| await message.reply({ embeds: [infoEmbed('Phase 1/5', 'Creating roles...')] }); |
| await createRoles.execute(client, message); |
|
|
| |
| await message.reply({ embeds: [infoEmbed('Phase 2/5', 'Creating channels...')] }); |
| await createChannels.execute(client, message); |
|
|
| |
| 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}` }); |
| } |
|
|
| |
| 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}` }); |
| } |
|
|
| |
| 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}` }); |
| } |
|
|
| |
| 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] }); |
| }, |
| }; |
|
|