From f395b9dce489d843c1c8cb61d6fb97a5609e7ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleksander=20Wilczy=C5=84ski?= Date: Fri, 2 Aug 2024 12:56:49 +0200 Subject: [PATCH] Upload files to "src" --- src/index.ts | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/index.ts diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..923fb42 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,38 @@ +import { createClient, RedisClientType } from 'redis'; +import './util/dayjs.js'; +import { SimrailClient, SimrailClientEvents } from './util/SimrailClient.js'; +import dayjs from 'dayjs'; +import { StationsModule } from './modules/stations.js'; +import { ApiModule } from './http/api.js'; +import mongoose from 'mongoose'; +import { IStation } from './types/station.js'; +import { IPlayer } from './types/player.js'; + + +; (async () => { + global.redis = await createClient({ + url: process.env.REDIS_URI! + }) + .on('error', err => console.log('Redis Client Error', err)) + .connect() as RedisClientType; + console.log('Redis connected'); + + await mongoose.connect(process.env.MONGO_URI!); + + console.log('MongoDB connected'); + global.client = new SimrailClient(); + + client.on(SimrailClientEvents.StationJoined, (station: IStation, player: IPlayer) => { + console.log(`${station.Name} | ${player.personaname} joined`); + }); + + client.on(SimrailClientEvents.StationLeft, (station: IStation, player: IPlayer, joinedAt: number) => { + console.log(`${station.Name} | ${player.personaname} left. | ${joinedAt ? dayjs(joinedAt).fromNow() : 'no time data.'}`); + }); + + StationsModule.load(); + ApiModule.load(); +})(); + + +