import dotenv from "dotenv"; import path from "node:path"; import * as fs from "node:fs"; import {dot} from "node:test/reporters"; type DiscordEnvironment = { token: string; guildId: string; clientId: string; } export type DatabaseEnvironment = { path: string; } export class Environment { get discord(): DiscordEnvironment { return { token: process.env.DISCORD_API_KEY ?? '', guildId: process.env.DISCORD_GUILD_ID ?? '', clientId: process.env.DISCORD_CLIENT_ID ?? '', } } get database(): DatabaseEnvironment { return { path: path.resolve(process.env.DB_PATH ?? ''), } } public setup() { const dotenvPath = path.resolve(__dirname, "../environment/.env"); if (!fs.existsSync(dotenvPath)) { return; } dotenv.config({ path: dotenvPath, }); } }