-
Notifications
You must be signed in to change notification settings - Fork 4
/
server_settings.js
83 lines (75 loc) · 2.02 KB
/
server_settings.js
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
const Discord = require("discord.js");
const Enmap = require("enmap");
const EnmapLevel = require("enmap-level");
const botSettings = require("./botsettings.json");
const defaultSettings = {
prefix: botSettings.prefix,
channelID: "",
roleChannelID: "",
joinChannelID: "",
editChannelID: "",
deleteChannelID: "",
imageChannelID: "",
//Toggles
imageEmbed: true,
autoRoleOn: false,
rolesOn: true,
//Welcome message
welcomeOn: true,
welcomeEmbed: true,
welcomeChannelID: "",
welcomeTitle: "",
welcomeMessage: "Welcome {user} to the server!",
welcomeIcon: "",
welcomeImage: "",
//Message log
logsOn: false,
messageLog: false,
editLog: false,
deleteLog: false,
imageLog: false,
//Mod logs
modLogOn: false,
//Starboard
starboardOn: true,
starboardChannelID: "",
starboardEmoji: ["⭐"],
starboardNumber: 1,
//Ad Blocker Channel
adBlocktoggle: false
};
module.exports = (bot = Discord.Client) => {
const serverSetProvider = new EnmapLevel({ name: 'Settings' });
bot.serverSet = new Enmap({ provider: serverSetProvider });
bot.hasServerSettings = function hasServerSettings(guildID) {
return bot.serverSet.has(guildID);
};
bot.initServerSettings = function initServerSettings(guildID) {
bot.serverSet.set(guildID, bot.getDefaultSettings());
return;
};
bot.getServerSettings = function getServerSettings(guildID) {
if (!bot.hasServerSettings(guildID)) {
bot.initServerSettings(guildID);
}
const guildSettings = bot.serverSet.get(guildID);
for (var key in defaultSettings) {
if (!guildSettings.hasOwnProperty(key)) {
guildSettings[key] = defaultSettings[key];
bot.setServerSettings(guildID, guildSettings);
}
}
return guildSettings;
};
bot.setServerSettings = function setServerSettings(guildID, newSettings) {
bot.serverSet.set(guildID, newSettings);
return;
};
bot.delServerSettings = function delServerSettings(guildID) {
bot.serverSet.delete(guildID).catch(console.error);
return;
};
bot.getDefaultSettings = function getDefaultSettings() {
return { ...defaultSettings };
};
};