const { PermissionFlagsBits } = require('discord.js'); // ── Theme Colors ────────────────────────────────────────────── const Colors = { PRIMARY: 0x9b59b6, // Purple ACCENT: 0xe74c3c, // Red DARK: 0x0d0d0d, // Near-black SUCCESS: 0x2ecc71, // Green WARNING: 0xf39c12, // Orange INFO: 0x3498db, // Blue MUTED: 0x2c2f33, // Dark grey }; // ── Role Definitions (top → bottom hierarchy) ───────────────── const Roles = [ { name: '@@ Owner', color: '#9b59b6', permissions: [PermissionFlagsBits.Administrator], hoist: true, mentionable: true, }, { name: '@@ Co-Owner', color: '#e74c3c', permissions: [PermissionFlagsBits.Administrator], hoist: true, mentionable: false, }, { name: '@@ Server Manager', color: '#e91e63', permissions: [ PermissionFlagsBits.ManageGuild, PermissionFlagsBits.ManageChannels, PermissionFlagsBits.ManageRoles, PermissionFlagsBits.KickMembers, PermissionFlagsBits.BanMembers, PermissionFlagsBits.ManageMessages, PermissionFlagsBits.MuteMembers, PermissionFlagsBits.DeafenMembers, PermissionFlagsBits.MoveMembers, PermissionFlagsBits.ManageNicknames, PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages, ], hoist: true, mentionable: false, }, { name: '@@ Staff', color: '#e67e22', permissions: [ PermissionFlagsBits.KickMembers, PermissionFlagsBits.BanMembers, PermissionFlagsBits.ManageMessages, PermissionFlagsBits.MuteMembers, PermissionFlagsBits.DeafenMembers, PermissionFlagsBits.MoveMembers, PermissionFlagsBits.ManageNicknames, PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages, PermissionFlagsBits.ManageChannels, ], hoist: true, mentionable: false, }, { name: '@@ Moderator', color: '#f1c40f', permissions: [ PermissionFlagsBits.ManageMessages, PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages, ], hoist: true, mentionable: false, }, { name: '@@ Helper', color: '#1abc9c', permissions: [], hoist: true, mentionable: false, }, { name: '@@ Known', color: '#9b59b6', permissions: [], hoist: true, mentionable: false, }, { name: '@@ Booster', color: '#f47fff', permissions: [], hoist: true, mentionable: false, }, { name: '@@ Verified', color: '#2ecc71', permissions: [], hoist: false, mentionable: false, }, { name: '@@ Buyer', color: '#3498db', permissions: [], hoist: true, mentionable: false, }, ]; // ── Channel / Category Layout ───────────────────────────────── const Categories = [ { name: '📌・INFORMATION', channels: [ { name: '📜・rules', type: 'text', readOnly: true, public: true }, { name: '⚠️・disclaimer', type: 'text', readOnly: true, public: true }, { name: '✅・verify', type: 'text', special: 'verify', public: true, hideFromVerified: true }, { name: '📢・announcements', type: 'text', readOnly: true }, { name: '⚡・updates', type: 'text' }, { name: '📊・polls', type: 'text', ownerOnly: true }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Verified': { view: true, send: true }, '@@ Booster': { view: true, send: true }, '@@ Moderator': { view: true, send: true }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, { name: '💬・COMMUNITY', channels: [ { name: '💬・general', type: 'text', noEmbeds: true }, { name: '🎨・media', type: 'text' }, { name: '🎧・voice-chat', type: 'voice' }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Verified': { view: true, send: true }, '@@ Booster': { view: true, send: true }, '@@ Moderator': { view: true, send: true }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, { name: '🎫・SUPPORT & TICKETS', channels: [ { name: '🎫・open-ticket', type: 'text', special: 'ticket' }, { name: '📂・ticket-logs', type: 'text', staffOnly: true }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Verified': { view: true, send: false }, '@@ Booster': { view: true, send: false }, '@@ Moderator': { view: true, send: false }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, { name: '🤖・DEVELOPMENT', channels: [ { name: '🤖・offsets', type: 'text' }, { name: '🤖・request-offsets', type: 'text' }, { name: '🤖・offset-dumpers', type: 'text' }, { name: '🧠・dev-chat', type: 'text' }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Verified': { view: true, send: false }, '@@ Booster': { view: true, send: false }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, { name: '🌐・RESOURCES', channels: [ { name: '🌐・resources', type: 'text', ownerOnly: true }, { name: '🌐・free-assets', type: 'text', ownerOnly: true }, { name: '🌐・scripts', type: 'text', ownerOnly: true }, { name: '🌐・drivers', type: 'text', ownerOnly: true }, { name: '🌐・community-content', type: 'text', special: 'community-content' }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Verified': { view: true, send: false }, '@@ Booster': { view: true, send: false }, '@@ Staff': { view: true, send: false }, '@@ Server Manager': { view: true, send: false }, '@@ Owner': { view: true, send: true }, }), }, { name: '💜・BOOSTER ZONE', channels: [ { name: '💜・booster-chat', type: 'text' }, { name: '💎・booster-rewards', type: 'text', ownerOnly: true }, { name: '🚀・booster-updates', type: 'text' }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Booster': { view: true, send: true }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, { name: '🛡️・STAFF ONLY', channels: [ { name: '👑・owner-chat', type: 'text', special: 'owner-chat' }, { name: '🛡️・staff-chat', type: 'text' }, { name: '📁・staff-logs', type: 'text', special: 'staff-logs' }, { name: '⚙️・bot-control', type: 'text' }, ], permOverrides: () => ({ everyone: { view: false, send: false }, '@@ Staff': { view: true, send: true }, '@@ Server Manager': { view: true, send: true }, '@@ Owner': { view: true, send: true }, }), }, ]; module.exports = { Colors, Roles, Categories };