Files
RedditBot/src/index.ts
T

36 lines
1.0 KiB
TypeScript

import { loadConfig } from './config/index.js';
import { createLogger } from './utils/logger.js';
import { bootstrap } from './bootstrap.js';
import { runMainLoop } from './main-loop.js';
import { createDatabase, runMigrations } from './database/client.js';
import { ConfigStore } from './config/persistence.js';
async function main(): Promise<void> {
const logger = createLogger();
logger.info('='.repeat(60));
logger.info('Reddit Bot Starting');
logger.info('='.repeat(60));
let config;
const db = createDatabase({
database: { path: process.env.DATABASE_PATH ?? './data/reddit-bot.db' },
});
runMigrations(db);
try {
config = loadConfig(new ConfigStore(db));
logger.info(`Loaded configuration for ${config.reddit.subreddits.length} subreddits`);
} catch (error) {
logger.error('Failed to load configuration:', error);
process.exit(1);
}
const app = await bootstrap(config, logger, db);
await runMainLoop(app);
}
main().catch((error) => {
console.error('Fatal error:', error);
process.exit(1);
});