50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
|
let userConfig;
|
||
|
|
||
|
try {
|
||
|
userConfig = require('../config');
|
||
|
} catch (e) {
|
||
|
throw new Error(`Config file could not be found or read! The error given was: ${e.message}`);
|
||
|
}
|
||
|
|
||
|
const defaultConfig = {
|
||
|
"token": null,
|
||
|
"mailGuildId": null,
|
||
|
"mainGuildId": null,
|
||
|
"logChannelId": null,
|
||
|
|
||
|
"prefix": "!",
|
||
|
"snippetPrefix": "!!",
|
||
|
|
||
|
"status": "Message me for help!",
|
||
|
"responseMessage": "Thank you for your message! Our mod team will reply to you here as soon as possible.",
|
||
|
|
||
|
"inboxServerPermission": null,
|
||
|
"alwaysReply": false,
|
||
|
"alwaysReplyAnon": false,
|
||
|
"useNicknames": false,
|
||
|
"ignoreAccidentalThreads": false,
|
||
|
|
||
|
"enableGreeting": false,
|
||
|
"greetingMessage": "The message the bot sends to a new user",
|
||
|
"greetingAttachment": "Put a file path here",
|
||
|
|
||
|
"port": 8890,
|
||
|
"url": null
|
||
|
};
|
||
|
|
||
|
const finalConfig = Object.assign({}, defaultConfig);
|
||
|
|
||
|
for (const [prop, value] of Object.entries(userConfig)) {
|
||
|
if (! defaultConfig.hasOwnProperty(prop)) {
|
||
|
throw new Error(`Invalid option: ${prop}`);
|
||
|
}
|
||
|
|
||
|
finalConfig[prop] = value;
|
||
|
}
|
||
|
|
||
|
if (! finalConfig.token) throw new Error('Missing token!');
|
||
|
if (! finalConfig.mailGuildId) throw new Error('Missing mailGuildId (inbox server id)!');
|
||
|
if (! finalConfig.mainGuildId) throw new Error('Missing mainGuildId!');
|
||
|
|
||
|
module.exports = finalConfig;
|