pnp-scheduler/source/Environment.ts

42 lines
No EOL
847 B
TypeScript

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,
});
}
}