From 6cd34e9c68d8e9ea54449f23659a126618e9205d Mon Sep 17 00:00:00 2001 From: Aster Fialla Date: Mon, 16 Feb 2026 12:30:46 -0500 Subject: [PATCH] adjusted webhook helper to not query twice for member. adjusted proxy message to just reply to message w/ attachments with "Attachment sent by" instead of sending error message --- src/helpers/messageHelper.js | 7 +++---- src/helpers/webhookHelper.js | 11 ++++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/helpers/messageHelper.js b/src/helpers/messageHelper.js index 7a48e11..2e89634 100644 --- a/src/helpers/messageHelper.js +++ b/src/helpers/messageHelper.js @@ -55,15 +55,14 @@ msgh.parseProxyTags = async function (authorId, content, attachmentUrl= null){ members.filter(member => member.proxy).forEach(member => { const splitProxy = member.proxy.split("text"); if(content.startsWith(splitProxy[0]) && content.endsWith(splitProxy[1])) { - if (attachmentUrl) throw new Error(enums.err.ATTACHMENTS_NOT_ALLOWED); - proxyMessage.proxy = member.proxy; + proxyMessage.member = member; + if (attachmentUrl) return proxyMessage.message = enums.misc.ATTACHMENT_SENT_BY; + let escapedPrefix = splitProxy[0].replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); let escapedSuffix = splitProxy[1].replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); - console.log(escapedPrefix, escapedSuffix); escapedPrefix = new RegExp("^" + escapedPrefix); escapedSuffix = new RegExp(escapedSuffix + "$") proxyMessage.message = content.replace(escapedPrefix, "").replace(escapedSuffix, ""); - console.log(proxyMessage.message); if (proxyMessage.message.length === 0) throw new Error(enums.err.NO_MESSAGE_SENT_WITH_PROXY); } }) diff --git a/src/helpers/webhookHelper.js b/src/helpers/webhookHelper.js index 7c8b00a..2b1e102 100644 --- a/src/helpers/webhookHelper.js +++ b/src/helpers/webhookHelper.js @@ -17,17 +17,18 @@ wh.sendMessageAsMember = async function(client, message) { const attachmentUrl = message.attachments.size > 0 ? message.attachments.first().url : null; const proxyMatch = await messageHelper.parseProxyTags(message.author.id, message.content, attachmentUrl).catch(e =>{throw e}); // If the message doesn't match a proxy, just return. - if (!proxyMatch || !proxyMatch.proxy) { + if (!proxyMatch || !proxyMatch.member.proxy) { return; } - // If the message does match a proxy but is in a guild server + // If the message does match a proxy but is not in a guild server (ex: in the Bot's DMs if (!message.guildId) { throw new Error(enums.err.NOT_IN_SERVER); } - const member = await memberHelper.getMemberByProxy(message.author.id, proxyMatch.proxy); - if (member) { - await replaceMessage(client, message, proxyMatch.message, member).catch(e =>{throw e}); + + if (proxyMatch.message === enums.misc.ATTACHMENT_SENT_BY) { + return await message.reply(`${enums.misc.ATTACHMENT_SENT_BY} ${proxyMatch.member.displayname}`) } + await replaceMessage(client, message, proxyMatch.message, proxyMatch.member).catch(e =>{throw e}); } /**