File size: 3,788 Bytes
3c7e34b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | 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] });
},
};
|