fix: im done & handles users being goofy and missing some keys

This commit is contained in:
labalityowo 2022-08-03 11:57:59 +07:00
parent 0fdb7c51d9
commit 48a7c79620
2 changed files with 7 additions and 5 deletions

View File

@ -6,11 +6,13 @@
import Interface from "./commands/Interface";
import HttpServer from "./http/HttpServer";
import SRServer from "./server/kcp/SRServer";
import Banners from "./util/Banner";
import Logger from "./util/Logger";
import ProtoFactory from "./util/ProtoFactory"
const c = new Logger("CrepeSR");
c.log(`Starting CrepeSR...`);
Banners.config
ProtoFactory.init();
Interface.start();
HttpServer.getInstance().start();

View File

@ -30,17 +30,17 @@ function r(...args: string[]) {
}
function readConfig(): any {
function readConfig(): BannersConfig {
let config: BannersConfig;
try {
config = JSON.parse(r('../../banners.json'));
for(const [index, gachaBanner] of Object.entries(config)){
for(let [index, gachaBanner] of Object.entries(config)){
const missing = Object.keys(BANNERS[0]).filter(key => !gachaBanner.hasOwnProperty(key));
if (missing.length > 0) {
console.log(missing)
console.log(`Missing ${missing.join(', ')}, using default values. Backup of your older config: ${JSON.stringify(gachaBanner, null, 2)}`);
config[parseInt(index)] = BANNERS[0];
updateConfig(config);
console.log(`Added missing banners keys: ${missing.join(', ')}`);
}
}
} catch {
@ -51,7 +51,7 @@ function readConfig(): any {
return config;
}
function updateConfig(config: any) {
function updateConfig(config: BannersConfig) {
fs.writeFileSync('./banners.json', JSON.stringify(config, null, 2));
}