refactor: monorepo structure
NOTE: discord bot moved to apps only
This commit is contained in:
38
apps/discord-bot/src/env.ts
Normal file
38
apps/discord-bot/src/env.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { z } from "zod";
|
||||
import "dotenv/config";
|
||||
|
||||
const schema = z.object({
|
||||
DISCORD_BOT_TOKEN: z.string(),
|
||||
DISCORD_MENTION: z.string(),
|
||||
DISCORD_REWARDS_GIVER: z.string(),
|
||||
DISCORD_REWARDS_CHANNEL: z.string(),
|
||||
DISCORD_ADMIN_MENTION: z.string(),
|
||||
DISCORD_ADMIN_CHANNEL: z.string(),
|
||||
DISCORD_TRACKING_CHANNEL: z.string(),
|
||||
WOV_API_KEY: z.string(),
|
||||
WOV_CLAN_ID: z.string(),
|
||||
WOV_FETCH_INTERVAL: z.coerce.number(),
|
||||
WOV_TRACKING_INTERVAL: z.coerce.number(),
|
||||
QUEST_REWARDS: z
|
||||
.string()
|
||||
.transform((x) => x.split(",").map((x) => x.trim()))
|
||||
.optional(),
|
||||
QUEST_EXCLUDE: z
|
||||
.string()
|
||||
.transform((x) => x.split(",").map((x) => x.trim()))
|
||||
.optional()
|
||||
.default(""),
|
||||
});
|
||||
|
||||
const result = schema.safeParse(process.env);
|
||||
if (!result.success) {
|
||||
console.log("❌ Invalid environments variables:");
|
||||
console.log(
|
||||
result.error.errors
|
||||
.map((x) => `- ${x.path.join(".")}: ${x.message}`)
|
||||
.join("\n"),
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
export const env = result.data;
|
||||
Reference in New Issue
Block a user