simplify: prune dead code, dedup gmail send, drop neutered log stubs
- Remove no-op log stubs (logGmail, logAutomation, logSecurity, logSystem) and ~17 callsites; dead counters in tickets.js and gmail-poll.js go too - Dedup three near-identical Gmail send paths into sendThreadedEmail helper - Drop dead Mongoose fields: broccoliniTicketId, lastSyncedBroccoliniArticleId, renameCount, renameWindowStart, reminderSent, staffChannelId, unclaimedRemindersSent, lastMessageAuthorIsStaff - Drop dead config fields and their .env.example entries - Inline api/botClient.js (3-line wrapper, 2 callers) - Trim unused exports across utils.js, tickets.js, configSchema.js, debugLog.js - Fix handlers/messages.js to use isStaff() — old partial check ignored ADDITIONAL_STAFF_ROLES, so those members were treated as customers - Drop unused deps p-queue + dotenv-expand; move mongodb to devDependencies Net: -583 LOC source + -57 LOC lockfile. All 23 modules load clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
11
.env.example
11
.env.example
@@ -14,10 +14,8 @@ DISCORD_GUILD_ID= # Server (guild) ID where the bot runs
|
||||
DISCORD_TICKET_CATEGORY_ID= # Category for Discord-originated ticket channels
|
||||
TICKET_CATEGORY_ID= # Category for email-originated ticket channels
|
||||
|
||||
# Category display names (primary must match the category name in Discord; overflow folders are created as "{name} (Overflow 1)", etc.)
|
||||
# Category display name (primary must match the category name in Discord; overflow folders are created as "{name} (Overflow 1)", etc.)
|
||||
TICKET_CATEGORY_NAME=Open Tickets
|
||||
TICKET_T2_CATEGORY_NAME=Tier 2 Escalated Tickets
|
||||
TICKET_T3_CATEGORY_NAME=Tier 3 Escalated Tickets
|
||||
|
||||
# Escalation categories (tier 2 and tier 3)
|
||||
DISCORD_ESCALATED_CATEGORY_ID= # Fallback escalation category (Discord)
|
||||
@@ -32,7 +30,6 @@ ROLE_ID_TO_PING= # Role ID to ping on new tickets (config also
|
||||
TRANSCRIPT_CHANNEL_ID= # Channel for ticket transcripts on close
|
||||
LOGGING_CHANNEL_ID= # Channel for lifecycle log messages
|
||||
DEBUGGING_CHANNEL_ID= # Channel for error logs (escalate, poll, etc.); optional
|
||||
DISCORD_CHANNEL_ID= # General Discord channel (if used)
|
||||
|
||||
# --- Discord: Ticket copy & buttons ---
|
||||
# ESCALATION_MESSAGE: use {support_name} for SUPPORT_NAME
|
||||
@@ -50,8 +47,7 @@ GOOGLE_CLIENT_SECRET= # OAuth2 Client Secret
|
||||
REFRESH_TOKEN= # OAuth2 refresh token for the support inbox
|
||||
MY_EMAIL= # Support inbox email address
|
||||
|
||||
# --- Server & URLs ---
|
||||
NGROK_URL= # Public URL (optional); run ngrok outside this repo
|
||||
# --- Server ---
|
||||
DISCORD_ONLY_PORT=5000 # Port for healthcheck / Discord-only server
|
||||
# HEALTHCHECK_HOST= # Optional; bind address for health server (default: all interfaces; use 127.0.0.1 for local-only)
|
||||
|
||||
@@ -74,7 +70,6 @@ DISCORD_AUTO_CLOSE_MESSAGE= # Message in ticket when auto-closed (e.g. ...
|
||||
|
||||
# --- Ticket limits & permissions ---
|
||||
GLOBAL_TICKET_LIMIT=5 # Max concurrent open tickets globally
|
||||
TICKET_LIMIT_PER_CATEGORY=3 # Max tickets per category
|
||||
RATE_LIMIT_TICKETS_PER_USER=0 # Max tickets per user per window (0 = disabled)
|
||||
RATE_LIMIT_WINDOW_MINUTES=60 # Window in minutes for per-user rate limit
|
||||
BLACKLISTED_ROLES= # Comma-separated role IDs that cannot open tickets
|
||||
@@ -83,7 +78,6 @@ ADDITIONAL_STAFF_ROLES= # Comma-separated role IDs with staff permissi
|
||||
# --- Auto-close ---
|
||||
AUTO_CLOSE_ENABLED=false
|
||||
AUTO_CLOSE_AFTER_HOURS=72
|
||||
AUTO_CLOSE_MESSAGE= # Message when ticket is auto-closed
|
||||
|
||||
# --- Reminders ---
|
||||
REMINDER_ENABLED=false
|
||||
@@ -140,7 +134,6 @@ GAME_LIST=Project Zomboid, Minecraft, ...
|
||||
|
||||
# --- Embed colors (hex with 0x prefix) ---
|
||||
EMBED_COLOR_OPEN=0x00FF00
|
||||
EMBED_COLOR_CLOSED=0xFF0000
|
||||
EMBED_COLOR_CLAIMED=0xFFFF00
|
||||
EMBED_COLOR_ESCALATED=0xFF6600
|
||||
EMBED_COLOR_INFO=0x1e2124
|
||||
|
||||
Reference in New Issue
Block a user