diff --git a/.env.example b/.env.example index a794dc46..cc76ef84 100644 --- a/.env.example +++ b/.env.example @@ -12,6 +12,9 @@ API_URL=https://localhost:3300/api # Comma-separated list of user IDs who should have access to the bot's global commands STAFF= +# A comma-separated list of server IDs that should be allowed by default +DEFAULT_ALLOWED_SERVERS= + # When using the Docker-based development environment, this is only used internally. The API will be available at localhost:DOCKER_DEV_WEB_PORT/api. API_PORT=3000 diff --git a/backend/src/data/AllowedGuilds.ts b/backend/src/data/AllowedGuilds.ts index 747dbb87..a9d86220 100644 --- a/backend/src/data/AllowedGuilds.ts +++ b/backend/src/data/AllowedGuilds.ts @@ -4,6 +4,7 @@ import { BaseRepository } from "./BaseRepository"; import { AllowedGuild } from "./entities/AllowedGuild"; import moment from "moment-timezone"; import { DBDateFormat } from "../utils"; +import { env } from "../env"; export class AllowedGuilds extends BaseRepository { private allowedGuilds: Repository; diff --git a/backend/src/env.ts b/backend/src/env.ts index cd453f39..5a607e45 100644 --- a/backend/src/env.ts +++ b/backend/src/env.ts @@ -17,6 +17,8 @@ const envType = z.object({ STAFF: z.preprocess((v) => String(v).split(","), z.array(z.string())).optional(), + DEFAULT_ALLOWED_SERVERS: z.preprocess((v) => String(v).split(","), z.array(z.string())).optional(), + PHISHERMAN_API_KEY: z.string().optional(), DOCKER_DEV_MYSQL_PASSWORD: z.string().optional(), // Included here for the DB_PASSWORD default in development diff --git a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts index d181ad7a..711a9154 100644 --- a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts +++ b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts @@ -3,6 +3,8 @@ import * as t from "io-ts"; import { BasePluginType, GlobalPluginData, typedGlobalEventListener } from "knub"; import { AllowedGuilds } from "../../data/AllowedGuilds"; import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; +import { env } from "../../env"; +import { Configs } from "../../data/Configs"; interface GuildAccessMonitorPluginType extends BasePluginType { config: {}; @@ -35,8 +37,19 @@ export const GuildAccessMonitorPlugin = zeppelinGlobalPlugin