mirror of
https://github.com/muerwre/vk-tg-bot.git
synced 2025-04-25 15:06:41 +07:00
41 lines
1.2 KiB
TypeScript
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();
|