Initializes the Aethex Sentinel bot project, including package.json, Prisma schema, core client, configuration, health server, and event listeners for audit logs and member updates. Implements commands for federation management, sentinel security status, and ticket system. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e72fc1b7-94bd-4d6c-801f-cbac2fae245c Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: fc082e4d-cb52-4049-9c2e-69ba6c2e78d4 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3bdfff67-975a-46ad-9845-fbb6b4a4c4b5/e72fc1b7-94bd-4d6c-801f-cbac2fae245c/jW8PJKQ Replit-Helium-Checkpoint-Created: true
27 lines
773 B
TypeScript
27 lines
773 B
TypeScript
import { config, validateConfig } from './core/config';
|
|
import { SentinelClient } from './core/client';
|
|
import { startHealthServer } from './core/health';
|
|
|
|
validateConfig();
|
|
|
|
const client = new SentinelClient();
|
|
|
|
client.once('ready', () => {
|
|
console.log(`✅ Aethex Sentinel logged in as ${client.user?.tag}`);
|
|
console.log(`📡 Watching ${client.guilds.cache.size} guild(s)`);
|
|
|
|
client.user?.setActivity('🛡️ Protecting the Federation', { type: 3 });
|
|
|
|
startHealthServer(client);
|
|
});
|
|
|
|
process.on('unhandledRejection', (error: Error) => {
|
|
console.error('❌ Unhandled Promise Rejection:', error);
|
|
});
|
|
|
|
process.on('uncaughtException', (error: Error) => {
|
|
console.error('❌ Uncaught Exception:', error);
|
|
process.exit(1);
|
|
});
|
|
|
|
client.login(config.token);
|