1
0
Fork 0
mirror of https://github.com/muerwre/vk-tg-bot.git synced 2025-04-25 15:06:41 +07:00
vk-tg-bot/src/index.ts
2023-12-30 17:21:43 +07:00

41 lines
1.2 KiB
TypeScript

import prepareConfig from "./config";
import { TelegramService } from "./service/telegram";
import logger from "./service/logger";
import { VkService } from "./service/vk";
import { TelegramApi } from "./api/telegram";
import { HttpApi } from "./api/http";
import { PostgresDB } from "./service/db/postgres";
import { PgTransport } from "./service/db/postgres/loggerTransport";
import { roll } from "./commands/roll";
async function main() {
try {
const config = prepareConfig();
const db = new PostgresDB(config.postgres, config.logger);
await db.connect();
logger.add(new PgTransport(db, { level: "warn" }));
const telegram = new TelegramService(config.telegram);
const vkService = new VkService(config.vk, telegram, config.templates, db);
const telegramApi = new TelegramApi(telegram, db, config);
telegramApi.listen();
await telegram.start();
const httpApi = new HttpApi(config.http, telegram, vkService);
await httpApi.listen();
await telegramApi.probe();
telegram.hears(/\/roll(.*)/, roll);
logger.info("bot successfully started");
} catch (e) {
logger.error(`FATAL EXCEPTION ${e}`);
}
}
main();