-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.mjs
76 lines (69 loc) · 2.3 KB
/
index.mjs
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
"use strict";
import dotenv from "dotenv";
dotenv.config();
import Utils, { utils } from "./src/utils/Utils.mjs";
import * as config from "./Config.mjs";
import JSONdb from "simple-json-db";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
/** @type {JSONdb} */
const playerNamesDatabase = new JSONdb(
path.resolve(__dirname, "./data/playerNames.json"),
);
/** @type {JSONdb} */
const generalDatabase = new JSONdb(
path.resolve(__dirname, "./data/generalDatabase.json"),
);
utils.setPlayerNameDatabase(playerNamesDatabase);
utils.setGeneralDatabase(generalDatabase);
utils.setDebug(config.default.debug.general);
let myBot;
if (config.default.debug.disableMinecraft) {
console.log("Minecraft bot disabled");
} else {
myBot = await import("./src/mineflayer/Bot.mjs");
myBot = myBot.default;
myBot.setUtilClass(utils);
await myBot.loadCommands();
myBot.setConfig(config.default);
}
let discordBot;
if (config.default.debug.disableDiscord) {
console.log("Discord bot disabled");
} else {
discordBot = await import("./src/discord/Discord.mjs");
discordBot = discordBot.default;
discordBot.setUtils(utils);
discordBot.setConfig(config.default);
}
refreshConfig();
// Used to refresh allowList every 10 seconds
function refreshConfig() {
setInterval(async () => {
try {
const configModule = await import(`./Config.mjs?cacheBust=${Date.now()}`);
// config = configModule.default; // Access the default export of the JSON module
if (!config.default.debug.disableMinecraft)
myBot.setConfig(configModule.default);
if (!config.default.debug.disableDiscord)
discordBot.setConfig(configModule.default);
// DEBUG: console.log("Allowlist updated:", allowlist);
} catch (error) {
console.error("Error updating allowlist:", error);
}
}, 10000);
}
process.stdin.on("data", dataInput);
function dataInput(data) {
data = data.toString().trim();
if (data.startsWith("/")) myBot.chat(data);
else if (data.startsWith(myBot.config.partyCommandPrefix))
myBot.onMessage(
new Utils.CustomMessage(
`[35mFrom [31m[CONSOLE] ${myBot.getUsername()}[37m: ${data}[0m`,
),
);
else if (data.startsWith("!dc")) return; // Add Discord bot stuff
}