From d00df57aead9169cb92588fce47ecd44ab9233ae Mon Sep 17 00:00:00 2001 From: fzzinchemical Date: Wed, 2 Apr 2025 19:30:28 +0200 Subject: [PATCH] Added ENV management --- src/bot.ts | 9 ++++----- src/core/configLoader.ts | 21 +++++++++++++++++++++ src/plugins/rule34/messages.ts | 4 ++-- 3 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 src/core/configLoader.ts diff --git a/src/bot.ts b/src/bot.ts index 26b8d52..deeaa75 100755 --- a/src/bot.ts +++ b/src/bot.ts @@ -1,12 +1,11 @@ import { createBot, Intents, startBot } from "npm:discordeno@18.0.1"; import { messagehandler } from "./messages.ts"; +import { EnvConst, loadConfig } from "@root/core/configLoader.ts"; + +const env: EnvConst = loadConfig() -const BOT_TOKEN = Deno.env.get("BOT_TOKEN") ?? ""; -if (!BOT_TOKEN) { - throw new Error("BOT_TOKEN is missing!"); -} const bot = createBot({ - token: BOT_TOKEN, + token: env.BOT_TOKEN, intents: Intents.Guilds | Intents.GuildMessages | Intents.MessageContent | Intents.DirectMessages, events: { diff --git a/src/core/configLoader.ts b/src/core/configLoader.ts new file mode 100644 index 0000000..71253a3 --- /dev/null +++ b/src/core/configLoader.ts @@ -0,0 +1,21 @@ +export type EnvConst = { + ADMIN: string, + BOT_TOKEN: string, + // DB_LOCATION: string +} + +export function loadConfig() { + return { + ADMIN: loadEnv("ADMIN"), + BOT_TOKEN: loadEnv("BOT_TOKEN"), + // DB_LOCATION: loadEnv("DB_LOCATION") + } +} + +function loadEnv(name: string) { + const env = Deno.env.get(name) + if (env === undefined) { + throw new Error(`ENV ${name} is missing!`); + } + return env +} \ No newline at end of file diff --git a/src/plugins/rule34/messages.ts b/src/plugins/rule34/messages.ts index 8390086..f49aa60 100644 --- a/src/plugins/rule34/messages.ts +++ b/src/plugins/rule34/messages.ts @@ -1,4 +1,4 @@ -import { Bot, Message } from "npm:discordeno@18.0.1"; +import { Bot, DiscordEmbedAuthor, Message } from "npm:discordeno@18.0.1"; import { drop, help, requestWorker } from "./plugin.ts"; import { logMessage } from "@root/logging.ts"; import { defaultString } from "@root/defaultString.ts"; @@ -26,4 +26,4 @@ export async function rule34MessageHandler(bot: Bot, message: Message) { } else { drop(); } -} +} \ No newline at end of file