-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.js
More file actions
156 lines (131 loc) Β· 9.55 KB
/
Copy pathconfig.js
File metadata and controls
156 lines (131 loc) Β· 9.55 KB
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
// src/config.js
// Centralized configuration β all Discord IDs are read from environment variables.
// Copy .env.example to .env and fill in your server's IDs before running the bot.
import 'dotenv/config';
const env = (key, fallback = '') => process.env[key] || fallback;
const envList = (key) => (process.env[key] || '').split(',').map(s => s.trim()).filter(Boolean);
// βββββββββββββββββββββββββββββββββββββββ
// SHARED ROLES (used across many commands)
// βββββββββββββββββββββββββββββββββββββββ
export const ROLE_ADMIN = env('ROLE_ADMIN');
export const ROLE_STAFF = env('ROLE_STAFF');
export const ROLE_MODERATOR = env('ROLE_MODERATOR');
export const ROLE_MUTED = env('ROLE_MUTED');
export const HEAD_ADMIN_ROLE = env('HEAD_ADMIN_ROLE');
// βββββββββββββββββββββββββββββββββββββββ
// LOGGING
// βββββββββββββββββββββββββββββββββββββββ
export const LOG_CHANNEL_ID = env('LOG_CHANNEL_ID');
export const MENTIONROLE_LOG_CHANNEL_ID = env('MENTIONROLE_LOG_CHANNEL_ID');
// βββββββββββββββββββββββββββββββββββββββ
// /shut β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const SHUT_ALLOWED_ROLES = envList('SHUT_ALLOWED_ROLES');
export const SHUT_IMMUNE_ROLES = envList('SHUT_IMMUNE_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /bully β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const BULLY_ALLOWED_ROLES = envList('BULLY_ALLOWED_ROLES');
export const BULLY_IMMUNE_ROLES = envList('BULLY_IMMUNE_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /say β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const SAY_ALLOWED_ROLES = envList('SAY_ALLOWED_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /expose β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const EXPOSE_ALLOWED_ROLES = envList('EXPOSE_ALLOWED_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /giffight β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const GIFFIGHT_ALLOWED_ROLES = envList('GIFFIGHT_ALLOWED_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /last-seen β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const LASTSEEN_ALLOWED_ROLES = envList('LASTSEEN_ALLOWED_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /xpbattle β Winner/Loser roles
// βββββββββββββββββββββββββββββββββββββββ
export const XPBATTLE_WINNER_ROLE = env('XPBATTLE_WINNER_ROLE');
export const XPBATTLE_LOSER_ROLE = env('XPBATTLE_LOSER_ROLE');
// βββββββββββββββββββββββββββββββββββββββ
// /embarrass β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const EMBARRASS_ROLE_POOL = envList('EMBARRASS_ROLE_POOL');
export const EMBARRASS_ALLOWED_ROLES = envList('EMBARRASS_ALLOWED_ROLES');
export const EMBARRASS_IMMUNE_ROLES = envList('EMBARRASS_IMMUNE_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /massping
// βββββββββββββββββββββββββββββββββββββββ
export const MASSPING_ALLOWED_ROLE = env('MASSPING_ALLOWED_ROLE');
export const MASSPING_TARGET_ID = env('MASSPING_TARGET_ID');
// βββββββββββββββββββββββββββββββββββββββ
// /hell-ban β Per-command roles
// βββββββββββββββββββββββββββββββββββββββ
export const HELL_ROLE_ID = env('HELL_ROLE_ID');
export const HELL_CHANNEL_ID = env('HELL_CHANNEL_ID');
export const HELLBAN_ALLOWED_ROLES = envList('HELLBAN_ALLOWED_ROLES');
// βββββββββββββββββββββββββββββββββββββββ
// /hack
// βββββββββββββββββββββββββββββββββββββββ
export const HACK_LOADING_EMOJI = env('HACK_LOADING_EMOJI');
// βββββββββββββββββββββββββββββββββββββββ
// topic-poster-ai
// βββββββββββββββββββββββββββββββββββββββ
export const GENERAL_CHANNEL_ID = env('GENERAL_CHANNEL_ID');
// βββββββββββββββββββββββββββββββββββββββ
// /partnership β Opt-out system
// βββββββββββββββββββββββββββββββββββββββ
export const PARTNERSHIP_CHANNEL_ID = env('PARTNERSHIP_CHANNEL_ID');
export const ROLE_NO_PARTNERSHIP = env('ROLE_NO_PARTNERSHIP');
export const ROLE_PARTNERSHIP_MEMBER = env('ROLE_PARTNERSHIP_MEMBER');
// βββββββββββββββββββββββββββββββββββββββ
// /pending β Donation tracking
// βββββββββββββββββββββββββββββββββββββββ
export const PENDING_LOG_CHANNEL_ID = env('PENDING_LOG_CHANNEL_ID');
// βββββββββββββββββββββββββββββββββββββββ
// /partner β Partner channel system
// βββββββββββββββββββββββββββββββββββββββ
export const PARTNER_CATEGORY_ID = env('PARTNER_CATEGORY_ID');
export const PARTNER_LOG_CHANNEL_ID = env('PARTNER_LOG_CHANNEL_ID');
export const ROLE_HEAD_PMAN = env('ROLE_HEAD_PMAN');
export const ROLE_QUARANTINED = env('ROLE_QUARANTINED');
// Partner embed button roles (comma-separated "label:emoji:role_id")
export const PARTNER_BUTTON_ROLES = envList('PARTNER_BUTTON_ROLES').map(entry => {
const parts = entry.split(':');
if (parts.length < 3) return null;
return { label: parts[0].trim(), emoji: parts[1].trim(), id: parts[2].trim() };
}).filter(Boolean);
// Ping role choices for /partner (comma-separated "label:role_id")
export const PARTNER_PING_ROLE_CHOICES = envList('PARTNER_PING_ROLE_CHOICES').map(entry => {
const [name, value] = entry.split(':');
return { name: name?.trim(), value: value?.trim() };
}).filter(e => e.name && e.value);
// βββββββββββββββββββββββββββββββββββββββ
// Dank Memer β Donation commands
// (gdono, mdono, hcdono, edono)
// βββββββββββββββββββββββββββββββββββββββ
export const EVENT_DONATIONS_CHANNEL_ID = env('EVENT_DONATIONS_CHANNEL_ID');
export const MAFIA_MANAGER_ROLE_ID = env('MAFIA_MANAGER_ROLE_ID');
export const HC_MANAGER_ROLE_ID = env('HC_MANAGER_ROLE_ID');
export const GIVEAWAY_MANAGER_ROLE_ID = env('GIVEAWAY_MANAGER_ROLE_ID');
export const GIVEAWAY_DONATIONS_CHANNEL_ID = env('GIVEAWAY_DONATIONS_CHANNEL_ID');
export const EVENT_MANAGER_ROLE_ID = env('EVENT_MANAGER_ROLE_ID');
// βββββββββββββββββββββββββββββββββββββββ
// Onboarding Pings
// βββββββββββββββββββββββββββββββββββββββ
export const ROLES_CHANNEL_ID = env('ROLES_CHANNEL_ID');
export const TOURNEY_CHANNEL_ID = env('TOURNEY_CHANNEL_ID');
export const HC_ROLES_CHANNEL_ID = env('HC_ROLES_CHANNEL_ID');
export const VERIFIED_ROLE_ID = env('VERIFIED_ROLE_ID');
// βββββββββββββββββββββββββββββββββββββββ
// /mentionrole β Ping choices
// βββββββββββββββββββββββββββββββββββββββ
export const MENTIONROLE_PING_CHOICES = envList('MENTIONROLE_PING_CHOICES').map(entry => {
const idx = entry.indexOf(':');
if (idx === -1) return null;
return { name: entry.slice(0, idx).trim(), value: entry.slice(idx + 1).trim() };
}).filter(Boolean);
// /set-status β uses HEAD_ADMIN_ROLE (defined above)
// /gifevent β uses ROLE_STAFF (defined above)
// /announce β uses ROLE_ADMIN (defined above)