forked from MidSpike/iris-utilities
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.js
More file actions
231 lines (214 loc) · 6.95 KB
/
config.js
File metadata and controls
231 lines (214 loc) · 6.95 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
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
'use strict';
//---------------------------------------------------------------------------------------------------------------//
const { Collection } = require('discord.js');
//---------------------------------------------------------------------------------------------------------------//
/**
* The version displayed to users in informative contexts
*
* scheme:
* - v[status][year]-[month]-[day]_[semi-version]
*
* status:
* - S = Stable
* - U = Unstable (don't use in production)
*
* year-month-day:
* - based on the US-EAST timezone
*
* semi-version:
* - used to denote minor patches to an already released PUBLIC_VERSION
*/
const PUBLIC_VERSION = 'vS_2020-12-20_0';
/**
* The various names given to this bot matching the schemes below
*/
const SHORT_NAME = 'IRIS'; // must match the following scheme [ a-z | A-Z | 0-9 | - | _ ]
const COMMON_NAME = 'I.R.I.S. Utilities'; // to be used in sentences
const LONG_NAME = 'Interactive Reconnaissance Information Service Utilities'; // a cool acronym to give this bot
/**
* The owner of this bot
*/
const OWNER_ID = '163646957783482370';
/**
* The website for this bot
*/
const WEBSITE = 'https://iris-utilities.com/';
/**
* The GitHub / Repository location for this bot
*/
const GITHUB = 'https://github.com/MidSpike/iris-utilities';
/**
* Donation sources are ways to donate to the creator of this bot
*/
const DONATION_SOURCES = {
GITHUB: 'https://github.com/sponsors/MidSpike',
PAYPAL: 'https://paypal.me/midspike',
PATREON: 'https://www.patreon.com/midspike',
};
/**
* Special Channels are channels used for logging and various other groupings of this bot's functionality
*/
const SPECIAL_CHANNELS = [
{
id: 'ARCHIVED_CHANNELS_CATEGORY',
type: 'category',
name: 'iris-archived-channels',
description: 'This category is used for organizing archived channels.',
}, {
id: 'SPECIAL_CHANNELS_CATEGORY',
type: 'category',
name: 'I.R.I.S. Utilities',
description: 'This category is used for organizing the special channels.',
}, {
id: 'BOT_COMMANDS',
type: 'text',
name: 'iris-bot-commands',
description: 'This channel is used as a backup-method for using this bot when the \'set_allowed_channels\' is improperly used.',
}, {
id: 'BOT_RESTARTS',
type: 'text',
name: 'iris-restart-log',
description: 'This channel will log when this bot restarts.',
}, {
id: 'BOT_UPDATES',
type: 'text',
name: 'iris-update-log',
description: 'This channel will show update messages and announcements from the Support Staff for this bot!',
}, {
id: 'GUILD_COMMANDS',
type: 'text',
name: 'iris-command-log',
description: 'This channel logs all of the commands (for this bot) entered by members in this guild.',
}, {
id: 'GUILD_MEMBERS',
type: 'text',
name: 'iris-member-log',
description: 'This channel will send join/leave messages like Discord\'s default \'System Channel\' logging.',
}, {
id: 'GUILD_INVITES',
type: 'text',
name: 'iris-invite-log',
description: 'This channel will log invites that are created/destroyed by members in this guild.',
}, {
id: 'GUILD_MODERATION',
type: 'text',
name: 'iris-moderation-log',
description: 'This channel is used to log when the bot\'s mod/admin commands have been used in this guild.',
}, {
id: 'GUILD_REACTIONS',
type: 'text',
name: 'iris-reaction-log',
description: 'This channel keeps track of reactions that are manipulated by users in this guild.',
},
];
/**
* Whitelisted Control Bots are bots that are permitted to execute commands / actions through this bot as if they were a user
*/
const WHITELISTED_CONTROL_BOTS = [
'779812072170455050', // I.R.I.S. Alexa Hook (owned by: 163646957783482370)
];
/**
* Super Perms are the acceptable permission values for Super People
*/
const SUPER_PERMS = [
'*',
'evaluate_code',
'restart',
'reload',
'blacklist',
'guild_super_user',
'get_guild',
'delete_messages',
'dm',
'echo',
'super_volume',
];
/**
* Super People are "Admins" of this bot and have elevated permissions
*/
const SUPER_PEOPLE = new Collection([
{
id: '163646957783482370',
name: 'MidSpike',
public: false,
allowed_permissions: ['*'],
denied_permissions: [],
}, {
id: '255071492801429504',
name: 'QuackAttack',
public: true,
allowed_permissions: ['*'],
denied_permissions: [],
}, {
id: '196254672418373632',
name: 'Will F.',
public: true,
allowed_permissions: ['*'],
denied_permissions: [],
}, {
id: '199641055837159425',
name: 'Anthony',
public: true,
allowed_permissions: ['*'],
denied_permissions: [],
}, {
id: '159170842528448512',
name: 'Ross',
public: true,
allowed_permissions: ['*'],
denied_permissions: [],
},
].map(super_person => [super_person.id, super_person]));
/**
* The Default Guild Config is the config which is applied to all new guilds be default
*/
const DEFAULT_GUILD_CONFIG = {
command_prefix: '%',
command_message_removal: 'enabled',
unknown_command_warnings: 'enabled',
clear_message: 'enabled',
player_description: 'disabled',
url_blocking: 'disabled',
invite_blocking: 'disabled',
disconnect_tts_voice: 'enabled',
queue_tts_voice: 'disabled',
beta_programs: [],
user_warnings: [],
admin_roles: [],
moderator_roles: [],
allowed_channels: [],
new_member_roles: [],
volume_multiplier: 1,
volume_maximum: 200,
tts_provider: 'ibm',
tts_voice_ibm: 'en-GB_KateV3Voice',
tts_voice_google: 'en-us',
};
/**
* The ids of guilds known to be a bot listing service
*/
const BOT_LIST_GUILDS = [
'264445053596991498', // Discord Bot List (https://top.gg/)
'446425626988249089', // Bots On Discord (https://bots.ondiscord.xyz/)
'439866052684283905', // Discord Boats (https://discord.boats/)
'110373943822540800', // Discord Bots (https://discord.bots.gg/)
'561851349831122954', // Arcane Center (https://arcane-center.xyz/)
'568567800910839811', // Discord Extreme List (https://discordextremelist.xyz/)
];
//---------------------------------------------------------------------------------------------------------------//
module.exports = {
PUBLIC_VERSION: PUBLIC_VERSION,
SHORT_NAME: SHORT_NAME,
COMMON_NAME: COMMON_NAME,
LONG_NAME: LONG_NAME,
OWNER_ID: OWNER_ID,
WEBSITE: WEBSITE,
GITHUB: GITHUB,
DONATION_SOURCES: DONATION_SOURCES,
SPECIAL_CHANNELS: SPECIAL_CHANNELS,
WHITELISTED_CONTROL_BOTS: WHITELISTED_CONTROL_BOTS,
SUPER_PERMS: SUPER_PERMS,
SUPER_PEOPLE: SUPER_PEOPLE,
DEFAULT_GUILD_CONFIG: DEFAULT_GUILD_CONFIG,
BOT_LIST_GUILDS: BOT_LIST_GUILDS,
};