strip: remove pattern/surge/chat alert monitoring + unused commands
- delete services/{patternChecker,patternStore,surgeChecker,chatAlertChecker,staffNotifications,staffChannel,notificationRegistry,notificationEnabled,staffPresence}.js
- remove /notification, /staffnotification, /tag, /priority
- /escalate: drop action param, always unclaim
- purge PATTERN_*, SURGE_*, CHAT_ALERT_*, STAFF_* env vars from config + .env.example
- drop StaffNotification model
- ~2500 LOC removed
- settings-site /internal/notifications/* endpoints gone (UI will 404 until trimmed)
This commit is contained in:
@@ -18,7 +18,6 @@ const { handleDiscordReply } = require('./handlers/messages');
|
||||
// Services & jobs
|
||||
const { sendTicketClosedEmail } = require('./services/gmail');
|
||||
const { checkAutoClose, checkAutoUnclaim, reconcileDeletedTicketChannels, resumePendingDeletes } = require('./services/tickets');
|
||||
const { notifyAllStaffUnclaimed } = require('./services/staffNotifications');
|
||||
const { registerCommands } = require('./commands/register');
|
||||
const bosscordRoutes = require('./routes/bosscord');
|
||||
const { setBot } = require('./api/bosscordClient');
|
||||
@@ -202,15 +201,6 @@ client.on('interactionCreate', async interaction => {
|
||||
});
|
||||
|
||||
client.on('messageCreate', async msg => {
|
||||
// Track staff last-seen for zero-staff detection fallback
|
||||
if (!msg.author.bot && CONFIG.STAFF_IDS.includes(msg.author.id)) {
|
||||
const { updateStaffLastSeen } = require('./services/patternStore');
|
||||
updateStaffLastSeen(msg.author.id);
|
||||
}
|
||||
// Chat channel monitoring
|
||||
const { handleChatMessage } = require('./services/chatAlertChecker');
|
||||
await handleChatMessage(msg, client).catch(() => {});
|
||||
// Existing ticket reply handler
|
||||
await handleDiscordReply(msg);
|
||||
});
|
||||
|
||||
@@ -262,47 +252,21 @@ client.once('ready', async () => {
|
||||
console.log('✓ Auto-close enabled: checking every hour');
|
||||
}
|
||||
|
||||
trackInterval(setInterval(() => notifyAllStaffUnclaimed(client).catch(e => console.error('notifyAllStaffUnclaimed:', e)), 30 * 60 * 1000));
|
||||
notifyAllStaffUnclaimed(client).catch(e => console.error('notifyAllStaffUnclaimed:', e));
|
||||
console.log('✓ Staff unclaimed reminders: checking every 30 minutes');
|
||||
|
||||
if (CONFIG.AUTO_UNCLAIM_ENABLED) {
|
||||
trackInterval(setInterval(() => checkAutoUnclaim(client), 60 * 60 * 1000));
|
||||
checkAutoUnclaim(client);
|
||||
console.log('✓ Auto-unclaim enabled: checking every hour');
|
||||
}
|
||||
|
||||
const { runPatternChecks } = require('./services/patternChecker');
|
||||
const { scheduleResets } = require('./services/patternStore');
|
||||
scheduleResets();
|
||||
trackInterval(setInterval(() => runPatternChecks(client).catch(e => console.error('runPatternChecks:', e)), CONFIG.PATTERN_CHECK_INTERVAL_MINUTES * 60 * 1000));
|
||||
console.log(`✓ Pattern checks: every ${CONFIG.PATTERN_CHECK_INTERVAL_MINUTES} minutes`);
|
||||
|
||||
const { runSurgeChecks } = require('./services/surgeChecker');
|
||||
trackInterval(setInterval(() => runSurgeChecks(client).catch(e => console.error('runSurgeChecks:', e)), 5 * 60 * 1000));
|
||||
setTimeout(() => runSurgeChecks(client).catch(e => console.error('runSurgeChecks:', e)), 30000);
|
||||
console.log('✓ Surge checks: every 5 minutes');
|
||||
|
||||
const { initChatMonitoring, runChatAlertChecks } = require('./services/chatAlertChecker');
|
||||
initChatMonitoring(client);
|
||||
trackInterval(setInterval(() => runChatAlertChecks(client).catch(e => console.error('runChatAlertChecks:', e)), 5 * 60 * 1000));
|
||||
console.log('✓ Chat alert monitoring: every 5 minutes');
|
||||
|
||||
reconcileDeletedTicketChannels(client).catch(e => console.error('reconcileDeletedTicketChannels:', e));
|
||||
trackInterval(setInterval(() => reconcileDeletedTicketChannels(client).catch(e => console.error('reconcileDeletedTicketChannels:', e)), 60 * 60 * 1000));
|
||||
resumePendingDeletes(client).catch(e => console.error('resumePendingDeletes:', e));
|
||||
console.log('✓ Reconcile deleted ticket channels: every 1 hour');
|
||||
|
||||
// Start in-memory Map sweeps (per-module) — keeps long-running processes bounded.
|
||||
require('./services/patternStore').startSweeps(trackInterval);
|
||||
require('./services/staffNotifications').startSweeps(trackInterval);
|
||||
require('./services/tickets').startTicketsSweeps(trackInterval);
|
||||
console.log('✓ Memory sweeps registered: every 6 hours (unref\'d)');
|
||||
|
||||
if (!CONFIG.STAFF_IDS.length) {
|
||||
console.warn('[surgeChecker] STAFF_IDS is not set — zero-staff detection disabled.');
|
||||
}
|
||||
|
||||
console.log('✓ Discord bot ready. Tag:', client.user.tag);
|
||||
|
||||
logSystem('Bot online', [
|
||||
@@ -310,7 +274,6 @@ client.once('ready', async () => {
|
||||
{ name: 'Poll interval', value: `${CONFIG.GMAIL_POLL_INTERVAL_MS / 1000}s` },
|
||||
{ name: 'Auto-close', value: CONFIG.AUTO_CLOSE_ENABLED ? `enabled (${CONFIG.AUTO_CLOSE_AFTER_HOURS}h)` : 'disabled' },
|
||||
{ name: 'Auto-unclaim', value: CONFIG.AUTO_UNCLAIM_ENABLED ? `enabled (${CONFIG.AUTO_UNCLAIM_AFTER_HOURS}h)` : 'disabled' },
|
||||
{ name: 'Claim timeout', value: CONFIG.CLAIM_TIMEOUT_ENABLED ? `enabled (${CONFIG.CLAIM_TIMEOUT_HOURS}h)` : 'disabled' },
|
||||
{ name: 'Gmail log', value: CONFIG.GMAIL_LOG_CHANNEL_ID ? 'configured' : 'not configured' },
|
||||
{ name: 'Automation log', value: CONFIG.AUTOMATION_LOG_CHANNEL_ID ? 'configured' : 'not configured' },
|
||||
{ name: 'Staff threads', value: CONFIG.STAFF_THREAD_ENABLED ? `enabled (name: "${CONFIG.STAFF_THREAD_NAME}")` : 'disabled' },
|
||||
|
||||
Reference in New Issue
Block a user