26 lines
813 B
TypeScript
26 lines
813 B
TypeScript
import dotenv from 'dotenv';
|
|
import path from 'path';
|
|
|
|
dotenv.config({ path: path.resolve(process.cwd(), '.env') });
|
|
|
|
const required = ['DISCORD_TOKEN', 'DISCORD_CLIENT_ID', 'DISCORD_GUILD_ID', 'DATABASE_URL'] as const;
|
|
|
|
required.forEach((key) => {
|
|
if (!process.env[key]) {
|
|
console.warn(`[config] Missing environment variable ${key}`);
|
|
}
|
|
});
|
|
|
|
export const env = {
|
|
token: process.env.DISCORD_TOKEN ?? '',
|
|
clientId: process.env.DISCORD_CLIENT_ID ?? '',
|
|
guildId: process.env.DISCORD_GUILD_ID ?? '',
|
|
guildIds: (process.env.DISCORD_GUILD_IDS ?? process.env.DISCORD_GUILD_ID ?? '')
|
|
.split(',')
|
|
.map((s) => s.trim())
|
|
.filter(Boolean),
|
|
databaseUrl: process.env.DATABASE_URL ?? '',
|
|
port: Number(process.env.PORT ?? 3000),
|
|
sessionSecret: process.env.SESSION_SECRET ?? 'papo_dev_secret'
|
|
};
|