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:
@@ -58,13 +58,6 @@ async function logWarn(context, message, overrideClient = null) {
|
||||
await sendToChannel(CONFIG.DEBUGGING_CHANNEL_ID, embed, overrideClient);
|
||||
}
|
||||
|
||||
// --- logEvent (generic – posts to any configured channel) ---
|
||||
|
||||
async function logEvent(channelConfigKey, embed, overrideClient = null) {
|
||||
const channelId = CONFIG[channelConfigKey];
|
||||
await sendToChannel(channelId, embed, overrideClient);
|
||||
}
|
||||
|
||||
// --- logTicketEvent ---
|
||||
|
||||
async function logTicketEvent(action, fields, interaction = null) {
|
||||
@@ -79,46 +72,9 @@ async function logTicketEvent(action, fields, interaction = null) {
|
||||
await sendToChannel(CONFIG.LOG_CHAN, embed, interaction?.client);
|
||||
}
|
||||
|
||||
// --- logGmail ---
|
||||
|
||||
async function logGmail(...args) { return; }
|
||||
|
||||
// --- logAutomation ---
|
||||
|
||||
async function logAutomation(...args) { return; }
|
||||
|
||||
// --- logSecurity ---
|
||||
|
||||
async function logSecurity(...args) { return; }
|
||||
|
||||
// --- logIntegrity ---
|
||||
|
||||
async function logIntegrity(issue, detail, overrideClient = null) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ticket Integrity Issue')
|
||||
.setColor(0xFF0000)
|
||||
.addFields(
|
||||
{ name: 'Issue', value: String(issue).slice(0, 256), inline: false },
|
||||
{ name: 'Detail', value: String(detail || 'N/A').slice(0, 1024), inline: false },
|
||||
{ name: 'Timestamp', value: new Date().toISOString(), inline: true }
|
||||
)
|
||||
.setTimestamp();
|
||||
await sendToChannel(CONFIG.DEBUGGING_CHANNEL_ID, embed, overrideClient);
|
||||
}
|
||||
|
||||
// --- logSystem ---
|
||||
|
||||
async function logSystem(...args) { return; }
|
||||
|
||||
module.exports = {
|
||||
setClient,
|
||||
logError,
|
||||
logWarn,
|
||||
logEvent,
|
||||
logTicketEvent,
|
||||
logGmail,
|
||||
logAutomation,
|
||||
logSecurity,
|
||||
logIntegrity,
|
||||
logSystem
|
||||
logTicketEvent
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user