import { db } from "./db" import { CollectionChain } from "lodash"; import { GuildMember } from "discord.js"; import { DocumentationSet } from "./commands/command"; const VALID_EXTENSIONS = new Set([ "png", "jpg", "jpeg", "bmp", ]); export let documentation : DocumentationSet = {}; export function isDevelopment() { return process.env.NODE_ENV == "dev"; } export function shouldShowMaintenanceMessage(serverId : string) { if(process.env.NODE_ENV != "dev") return false; let devServers = db.get("devServers") as CollectionChain; return !devServers.includes(serverId).value(); } export function isValidImage(fileName: string) { let extPosition = fileName.lastIndexOf("."); if(extPosition < 0) return false; let ext = fileName.substring(extPosition + 1).toLowerCase(); return VALID_EXTENSIONS.has(ext); } export function isAuthorised(member : GuildMember) { let users = db.get("editors.users") as CollectionChain; let roles = db.get("editors.roles") as CollectionChain; if (users.includes(member.id).value()) return true; if (roles.intersectionWith(member.roles.keyArray()).isEmpty().value()) return false; return true; }