This commit is contained in:
indifferentketchup
2026-03-28 18:39:00 -05:00
parent fc81ff32ca
commit 8a4e306f28
9 changed files with 99 additions and 122 deletions

View File

@@ -20,6 +20,7 @@ const { canRename, makeTicketName, minutesFromMs, pickTicketCategoryId, createDi
const { sendTicketClosedEmail } = require('../services/gmail');
const { getTicketActionRow } = require('../utils/ticketComponents');
const { setEmailRouting } = require('../services/guildSettings');
const { enqueueRename } = require('../services/channelQueue');
const { runEscalation, runDeescalation } = require('./commands');
const { trackInteraction, trackError } = require('./analytics');
@@ -297,7 +298,7 @@ async function handleClaim(interaction, ticket) {
guild
);
try {
await interaction.channel.setName(newName);
await enqueueRename(interaction.channel, newName);
} catch (e) {
console.error('Rename error (claim):', e);
}
@@ -333,8 +334,10 @@ async function handleClaim(interaction, ticket) {
.replace(/\{staff_mention\}/g, interaction.user.toString())
.replace(/\{staff_name\}/g, interaction.member?.displayName || interaction.user.username);
const claimEmbed = new EmbedBuilder()
.setTitle('✅ Ticket Claimed')
.setDescription(claimText)
.setColor(CONFIG.EMBED_COLOR_INFO);
.setColor(CONFIG.EMBED_COLOR_CLAIMED)
.setFooter({ text: `Claimed by ${claimerLabel}` });
await interaction.followUp({ embeds: [claimEmbed] });
} else {
// Unclaim
@@ -352,7 +355,7 @@ async function handleClaim(interaction, ticket) {
guild
);
try {
await interaction.channel.setName(newName);
await enqueueRename(interaction.channel, newName);
} catch (e) {
console.error('Rename error (unclaim):', e);
}
@@ -383,8 +386,10 @@ async function handleClaim(interaction, ticket) {
.replace(/\{staff_mention\}/g, interaction.user.toString())
.replace(/\{staff_name\}/g, interaction.member?.displayName || interaction.user.username);
const unclaimEmbed = new EmbedBuilder()
.setTitle('🔓 Ticket Unclaimed')
.setDescription(unclaimText)
.setColor(CONFIG.EMBED_COLOR_INFO);
.setColor(0x808080)
.setFooter({ text: `Unclaimed by ${claimerLabel}` });
await interaction.followUp({ embeds: [unclaimEmbed] });
}
}