2022-04-04 22:14:12 +02:00
|
|
|
import { config } from 'dotenv';
|
|
|
|
import Log75, { LogLevel } from 'log75';
|
|
|
|
import { getDb } from './db';
|
|
|
|
import { login as loginRevolt } from './revolt/client';
|
|
|
|
import { login as loginDiscord } from './discord/client';
|
2022-04-05 10:31:02 +02:00
|
|
|
import { ICollection } from 'monk';
|
|
|
|
import BridgeConfig from './types/BridgeConfig';
|
|
|
|
import BridgedMessage from './types/BridgedMessage';
|
2022-04-04 22:14:12 +02:00
|
|
|
|
|
|
|
config();
|
|
|
|
|
|
|
|
const logger: Log75 = new (Log75 as any).default(LogLevel.Debug);
|
|
|
|
const db = getDb();
|
2022-04-05 10:31:02 +02:00
|
|
|
const BRIDGED_MESSAGES: ICollection<BridgedMessage> = db.get('bridged_messages');
|
|
|
|
const BRIDGE_CONFIG: ICollection<BridgeConfig> = db.get('bridge_config');
|
2022-04-04 22:14:12 +02:00
|
|
|
|
|
|
|
for (const v of [ 'REVOLT_TOKEN', 'DISCORD_TOKEN', 'DB_STRING' ]) {
|
|
|
|
if (!process.env[v]) {
|
|
|
|
logger.error(`Env var $${v} expected but not set`);
|
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
(async () => {
|
|
|
|
const [ revolt, discord ] = await Promise.allSettled([
|
|
|
|
loginRevolt(),
|
|
|
|
loginDiscord(),
|
|
|
|
]);
|
|
|
|
})();
|
|
|
|
|
2022-04-05 21:45:44 +02:00
|
|
|
export { logger, db, BRIDGED_MESSAGES, BRIDGE_CONFIG }
|