diff --git a/src/helpers/messageHelper.js b/src/helpers/messageHelper.js index 2e89634..94a200a 100644 --- a/src/helpers/messageHelper.js +++ b/src/helpers/messageHelper.js @@ -52,18 +52,20 @@ msgh.parseProxyTags = async function (authorId, content, attachmentUrl= null){ } const proxyMessage = {} - members.filter(member => member.proxy).forEach(member => { - const splitProxy = member.proxy.split("text"); - if(content.startsWith(splitProxy[0]) && content.endsWith(splitProxy[1])) { - proxyMessage.member = member; - if (attachmentUrl) return proxyMessage.message = enums.misc.ATTACHMENT_SENT_BY; + members.forEach(member => { + if (member.proxy) { + const splitProxy = member.proxy.split("text"); + if(content.startsWith(splitProxy[0]) && content.endsWith(splitProxy[1])) { + 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, '\\$&'); - escapedPrefix = new RegExp("^" + escapedPrefix); - escapedSuffix = new RegExp(escapedSuffix + "$") - proxyMessage.message = content.replace(escapedPrefix, "").replace(escapedSuffix, ""); - if (proxyMessage.message.length === 0) throw new Error(enums.err.NO_MESSAGE_SENT_WITH_PROXY); + let escapedPrefix = splitProxy[0].replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + let escapedSuffix = splitProxy[1].replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + escapedPrefix = new RegExp("^" + escapedPrefix); + escapedSuffix = new RegExp(escapedSuffix + "$") + proxyMessage.message = content.replace(escapedPrefix, "").replace(escapedSuffix, ""); + if (proxyMessage.message.length === 0) throw new Error(enums.err.NO_MESSAGE_SENT_WITH_PROXY); + } } }) return proxyMessage; diff --git a/src/helpers/webhookHelper.js b/src/helpers/webhookHelper.js index 2b1e102..5c2f0db 100644 --- a/src/helpers/webhookHelper.js +++ b/src/helpers/webhookHelper.js @@ -17,7 +17,7 @@ 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.member.proxy) { + if (!proxyMatch.member) { return; } // If the message does match a proxy but is not in a guild server (ex: in the Bot's DMs