95 lines
2.1 KiB
JavaScript
95 lines
2.1 KiB
JavaScript
import createQQ from "./qq.js"
|
||
import setLog from "./log.js"
|
||
import redisInit from "./redis.js"
|
||
import { checkRun } from "./check.js"
|
||
import fs from "node:fs"
|
||
import yaml from "yaml"
|
||
|
||
/** 设置标题 */
|
||
process.title = "Miao-Yunzai"
|
||
|
||
async function UpdateTitle() {
|
||
// 添加一些多余的标题内容
|
||
let title = "Miao-Yunzai"
|
||
let qq = await fs.promises.readFile("./config/config/qq.yaml", "UTF-8").then(yaml.parse).catch(() => null)
|
||
if (qq) {
|
||
title += `@${qq.qq || ""}`
|
||
switch (qq.platform) {
|
||
case 1:
|
||
title += " 安卓手机"
|
||
break
|
||
case 2:
|
||
title += " aPad"
|
||
break
|
||
case 3:
|
||
title += " 安卓手表"
|
||
break
|
||
case 4:
|
||
title += " MacOS"
|
||
break
|
||
case 5:
|
||
title += " iPad"
|
||
break
|
||
case 6:
|
||
title += " Tim"
|
||
break
|
||
default:
|
||
}
|
||
}
|
||
/** 设置标题 */
|
||
process.title = title
|
||
}
|
||
|
||
/** 设置时区 */
|
||
process.env.TZ = "Asia/Shanghai"
|
||
|
||
process.on("SIGHUP", () => process.exit())
|
||
|
||
/** 捕获未处理的错误 */
|
||
process.on("uncaughtException", error => {
|
||
if (typeof logger == "undefined") console.log(error)
|
||
else logger.error(error)
|
||
})
|
||
|
||
/** 捕获未处理的Promise错误 */
|
||
process.on("unhandledRejection", (error, promise) => {
|
||
if (typeof logger == "undefined") console.log(error)
|
||
else logger.error(error)
|
||
})
|
||
|
||
/** 退出事件 */
|
||
process.on("exit", async code => {
|
||
if (typeof redis != "undefined" && typeof test == "undefined")
|
||
await redis.save()
|
||
|
||
if (typeof logger == "undefined")
|
||
console.log("Miao-Yunzai 已停止运行")
|
||
else
|
||
logger.mark(logger.magenta("Miao-Yunzai 已停止运行"))
|
||
})
|
||
|
||
await checkInit()
|
||
|
||
/** 初始化事件 */
|
||
async function checkInit() {
|
||
/** 检查node_modules */
|
||
if (!fs.existsSync("./node_modules") || !fs.existsSync("./node_modules/icqq")) {
|
||
console.log("请先运行命令:pnpm install -P 安装依赖")
|
||
process.exit()
|
||
}
|
||
|
||
/** 检查qq.yaml */
|
||
await createQQ()
|
||
|
||
/** 日志设置 */
|
||
setLog()
|
||
|
||
logger.mark("Miao-Yunzai 启动中...")
|
||
|
||
await redisInit()
|
||
|
||
await checkRun()
|
||
|
||
//** 更新标题 */
|
||
await UpdateTitle()
|
||
} |