From 69bca511ca9224b8eb001c2de168abdd76556c01 Mon Sep 17 00:00:00 2001 From: ~purplebored Date: Fri, 19 Sep 2025 23:59:24 +0200 Subject: [PATCH] Fix a small issue with the replies --- .config.yaml.kate-swp | Bin 62 -> 0 bytes README.md | 2 +- bot.js | 48 +++++++++++++++++++++--------------------- 3 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 .config.yaml.kate-swp diff --git a/.config.yaml.kate-swp b/.config.yaml.kate-swp deleted file mode 100644 index 32aede447fd345ddaa4f70976805b490e4ffc8ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?VnS=PqYCDr*Ur@LU - logDebug(`🔌 Connecting to ${ircConfig.server}:${ircConfig.port} ...`) + logDebug(`Connecting to ${ircConfig.server}:${ircConfig.port} ...`) ); client.on("connected", () => - logDebug(`✅ TCP connection established to ${ircConfig.server}`) + logDebug(`TCP connection established to ${ircConfig.server}`) ); client.on("registered", () => { console.log( `Connected to IRC ${ircConfig.server} as ${ircConfig.nick}, joining ${ircConfig.channel}` ); client.join(ircConfig.channel, () => - logDebug(`➡️ Sent JOIN for ${ircConfig.channel}`) + logDebug(`Sent JOIN for ${ircConfig.channel}`) ); }); client.on("join", (event) => - logDebug(`🎉 Joined ${event.channel} as ${event.nick}`) + logDebug(`Joined ${event.channel} as ${event.nick}`) ); client.on("error", (event) => console.error(`IRC error on ${ircConfig.server}:`, event) ); client.on("socket close", () => - logDebug(`❌ Socket closed for ${ircConfig.server}`) + logDebug(`Socket closed for ${ircConfig.server}`) ); client.on("socket error", (err) => - console.error(`⚠️ Socket error on ${ircConfig.server}:`, err) + console.error(`Socket error on ${ircConfig.server}:`, err) ); + client.on("message", (event) => { if (event.nick === ircConfig.nick) return; // Skip self const ircMessage = `<${event.nick}> ${event.message}`; @@ -95,7 +96,9 @@ function createIRCClient(bridge) { client.on("relaymsg", (event) => { const discordChannel = discordClient.channels.cache.get(discordChannelId); if (discordChannel) - discordChannel.send(`[relay ${event.nick}] ${event.message}`).catch(console.error); + discordChannel + .send(`[relay ${event.nick}] ${event.message}`) + .catch(console.error); }); if (DEBUG) { @@ -135,28 +138,25 @@ discordClient.on("messageCreate", async (message) => { } } - // Handle quoted replies + // Handle quoted replies (text only) in one line let quote = ""; if (message.reference && message.reference.messageId) { try { const referencedMessage = await message.channel.messages.fetch( message.reference.messageId ); - if (referencedMessage) { - const refMember = - referencedMessage.guild && - (await referencedMessage.guild.members.fetch( - referencedMessage.author.id - ).catch(() => null)); - const refAuthor = refMember - ? refMember.displayName - : referencedMessage.author.username; - const refContent = referencedMessage.content || "[Embed/Attachment]"; - const quotedLines = refContent - .split("\n") - .map((line) => `> ${line}`) - .join("\n"); - quote = `> ${refAuthor} said:\n${quotedLines}\n`; + + if (referencedMessage.content) { + let refAuthor = referencedMessage.author.username; + if (referencedMessage.guild) { + const member = await referencedMessage.guild.members + .fetch(referencedMessage.author.id) + .catch(() => null); + if (member) refAuthor = member.displayName; + } + + const originalText = referencedMessage.content.replace(/\n/g, " "); + quote = `<${refAuthor}> said: ${originalText} | `; } } catch (err) { logDebug("Failed to fetch referenced message:", err); @@ -166,7 +166,7 @@ discordClient.on("messageCreate", async (message) => { // Build message text let discordMessage = `${quote}<${nickname}> ${message.content}`; - // Append attachment URLs (images/files) + // Append attachment URLs if (message.attachments.size > 0) { const urls = message.attachments.map((att) => att.url).join(" "); discordMessage += ` [Attachments: ${urls}]`;