xinc
Version:
基于napcat,node-napcat-ts的bot框架
59 lines • 2.32 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Structs = exports.definePlugin = void 0;
const App_1 = require("./core/App");
const plugin_1 = require("./core/plugin");
Object.defineProperty(exports, "definePlugin", { enumerable: true, get: function () { return plugin_1.definePlugin; } });
Object.defineProperty(exports, "Structs", { enumerable: true, get: function () { return plugin_1.Structs; } });
// src/index.ts
__exportStar(require("./core/plugin"), exports);
__exportStar(require("./napcat/Structs"), exports);
__exportStar(require("./core/Logger"), exports);
__exportStar(require("./core/config"), exports);
__exportStar(require("./core/App"), exports);
const main = async () => {
const app = new App_1.App();
// 优雅退出
process.on('SIGINT', async () => {
await app.stop();
process.exit(0);
});
// 捕获未处理的异常
process.on('uncaughtException', async (error) => {
console.error('未捕获的异常:', error);
await app.stop();
process.exit(1);
});
// 捕获未处理的 Promise 拒绝
process.on('unhandledRejection', async (reason) => {
console.error('未处理的 Promise 拒绝:', reason);
await app.stop();
process.exit(1);
});
// 初始化并启动应用
await app.init();
await app.start().catch(async (error) => {
console.error('启动应用失败:', error);
await app.stop();
process.exit(1);
});
};
// 如果直接运行此文件,则启动应用
if (require.main === module) {
main();
}
//# sourceMappingURL=index.js.map