From 5b6d53266196ec47ecd1ac9644672b83a4cdc101 Mon Sep 17 00:00:00 2001 From: samkintop Date: Sat, 4 Apr 2026 03:19:52 +0000 Subject: [PATCH] fix: wrap escalation email in try/catch --- handlers/commands.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/handlers/commands.js b/handlers/commands.js index e2de7f8..719e819 100644 --- a/handlers/commands.js +++ b/handlers/commands.js @@ -149,13 +149,17 @@ async function runEscalation(interaction, ticket, nextTier, reason) { }); if (!isDiscordTicket && ticket.gmailThreadId) { - const emailBody = CONFIG.ESCALATION_MESSAGE.replace(/\{support_name\}/g, CONFIG.SUPPORT_NAME) + (reason ? `\n\nReason: ${reason}` : ''); - await sendTicketNotificationEmail( - ticket, - `Ticket escalated to ${nextTier === 1 ? 'tier 2' : 'tier 3'}`, - emailBody, - interaction.member?.displayName || interaction.user.username - ); + try { + const emailBody = CONFIG.ESCALATION_MESSAGE.replace(/\{support_name\}/g, CONFIG.SUPPORT_NAME) + (reason ? `\n\nReason: ${reason}` : ''); + await sendTicketNotificationEmail( + ticket, + `Ticket escalated to ${nextTier === 1 ? 'tier 2' : 'tier 3'}`, + emailBody, + interaction.member?.displayName || interaction.user.username + ); + } catch (emailErr) { + console.error('Escalation email failed (non-fatal):', emailErr.message); + } } if (nextTier === 2 && ticket.welcomeMessageId) { @@ -1204,4 +1208,4 @@ async function handleAutocomplete(interaction) { } } -module.exports = { handleCommand, handleContextMenu, handleAutocomplete, runEscalation, runDeescalation }; +module.exports = { handleCommand, handleContextMenu, handleAutocomplete, runEscalation, runDeescalation }; \ No newline at end of file