44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
export interface Config {
|
|
token: string;
|
|
client_id: string;
|
|
owner_id: string | undefined;
|
|
|
|
tts_default_mode: string | undefined;
|
|
tts_default_voice: string | undefined;
|
|
|
|
tts_azure_key: string | undefined;
|
|
tts_elevenlabs_key: string | undefined;
|
|
|
|
steam_webapi_key: string | undefined;
|
|
|
|
aws_access_id: string | undefined;
|
|
aws_access_key: string | undefined;
|
|
|
|
tiktok_session_id: string | undefined;
|
|
}
|
|
|
|
function loadConfig(): Config {
|
|
const token = process.env.DISCORD_TOKEN;
|
|
const client_id = process.env.DISCORD_ID;
|
|
|
|
if (!token) throw new Error('DISCORD_TOKEN environment variable is not set.');
|
|
if (!client_id)
|
|
throw new Error('DISCORD_ID environment variable is not set.');
|
|
|
|
return {
|
|
token,
|
|
client_id,
|
|
owner_id: process.env.DISCORD_OWNER_ID,
|
|
tts_default_mode: process.env.DEFAULT_TTS_MODE,
|
|
tts_default_voice: process.env.DEFAULT_TTS_VOICE,
|
|
tts_azure_key: process.env.TTS_AZURE_KEY,
|
|
tts_elevenlabs_key: process.env.TTS_ELEVENLABS_KEY,
|
|
steam_webapi_key: process.env.STEAM_WEBAPI_KEY,
|
|
aws_access_id: process.env.AWS_ACCESS_ID,
|
|
aws_access_key: process.env.AWS_ACCESS_KEY,
|
|
tiktok_session_id: process.env.TIKTOK_SESSION_ID
|
|
};
|
|
}
|
|
|
|
export const config = loadConfig();
|