import { schedule } from "node-cron"; import { readFileSync } from "node:fs"; import config from "@/lib/config"; import { initUserID } from "@/lib/memory"; import { styleText } from "node:util"; import { Worker } from "node:worker_threads"; try { console.log(readFileSync(`${import.meta.dirname}/../asciiart.txt`, "utf-8")); console.log(JSON.parse(readFileSync(`${import.meta.dirname}/../package.json`, "utf-8")).version); if (config.debug) { process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; console.log(styleText( ["bgRed", "cyan", "bold"], "デバッグモードが有効です", )); } console.log(); await initUserID(); new Worker(`${import.meta.dirname}/feature/earthquakeNotice.js`); console.log("Botが起動しました"); } catch (err: any) { console.error("message" in err ? err.message : err); process.exit(1); } schedule("0 * * * *", async () => { new Worker(`${import.meta.dirname}/feature/timeNotice.js`); }); schedule("0 7 * * *", async () => { new Worker(`${import.meta.dirname}/feature/weatherNotice.js`); }); schedule(`*/${config.command.interval} * * * *`, async () => { new Worker(`${import.meta.dirname}/feature/command/index.js`); });