File size: 8,536 Bytes
e5c9966
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
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 };