From 71e33dbf66250bf260b1717b1a40af238d98a0f8 Mon Sep 17 00:00:00 2001 From: 1tzEmerald Date: Sun, 10 Nov 2024 13:30:27 +0000 Subject: [PATCH] Update close.js --- Commands/close.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Commands/close.js b/Commands/close.js index 340484c..ef853cf 100644 --- a/Commands/close.js +++ b/Commands/close.js @@ -218,8 +218,10 @@ async function handleCloseTicket(interaction, reason, ticket, TicketData) { if (messages.size < 100) break; } + // Sort messages by timestamp allMessages.sort((a, b) => a.createdTimestamp - b.createdTimestamp); + // Create transcript data const transcriptData = allMessages.map(msg => ({ content: msg.content || "No content", username: msg.author.username, @@ -237,6 +239,7 @@ async function handleCloseTicket(interaction, reason, ticket, TicketData) { })) })); + // Update ticket status tickets.tickets[TicketData].open = false; tickets.tickets[TicketData].messages = transcriptData; fs.writeFileSync("./Data/TicketData.json", JSON.stringify(tickets, null, 4)); @@ -284,6 +287,25 @@ async function handleCloseTicket(interaction, reason, ticket, TicketData) { } } +function parseMarkdown(content) { + // Convert **bold** text to tags + content = content.replace(/\*\*(.*?)\*\*/g, '$1'); + + // Convert _italic_ text to tags + content = content.replace(/_(.*?)_/g, '$1'); + + // Convert inline `code` to tags + content = content.replace(/`(.*?)`/g, '$1'); + + // Convert [text](link) to tags + content = content.replace(/\[(.*?)\]\((.*?)\)/g, '$1'); + + // Convert multiline code blocks ```code``` to
 tags
+  content = content.replace(/```(.*?)```/gs, '
$1
'); + + return content; +} + function createTranscriptHTML(ticket, reason) { return ` @@ -373,7 +395,7 @@ function createTranscriptHTML(ticket, reason) { ${new Date(msg.timestamp).toLocaleString()}
- ${msg.content} + ${parseMarkdown(msg.content)} ${msg.embeds.map(embed => `