diff --git a/src/main/java/com/jagrosh/vortex/Listener.java b/src/main/java/com/jagrosh/vortex/Listener.java index 6bdbd9e3..4b53d153 100644 --- a/src/main/java/com/jagrosh/vortex/Listener.java +++ b/src/main/java/com/jagrosh/vortex/Listener.java @@ -74,7 +74,7 @@ public void onEvent(GenericEvent event) vortex.getMessageCache().putMessage(m); // Run automod on the message - vortex.getAutoMod().performAutomod(m); + vortex.getAutoMod().performAutomod(m, false); } } else if (event instanceof GuildMessageUpdateEvent) @@ -84,7 +84,7 @@ else if (event instanceof GuildMessageUpdateEvent) if(!m.getAuthor().isBot()) // ignore bot edits { // Run automod on the message - vortex.getAutoMod().performAutomod(m); + vortex.getAutoMod().performAutomod(m, true); // Store and log the edit CachedMessage old = vortex.getMessageCache().putMessage(m); diff --git a/src/main/java/com/jagrosh/vortex/automod/AutoMod.java b/src/main/java/com/jagrosh/vortex/automod/AutoMod.java index 17faaa78..ec3e9d35 100644 --- a/src/main/java/com/jagrosh/vortex/automod/AutoMod.java +++ b/src/main/java/com/jagrosh/vortex/automod/AutoMod.java @@ -254,7 +254,7 @@ public void dehoist(Member member) catch(Exception ignore) {} } - public void performAutomod(Message message) + public void performAutomod(Message message, boolean isEdit) { //ignore users with Manage Messages, Kick Members, Ban Members, Manage Server, or anyone the bot can't interact with if(!shouldPerformAutomod(message.getMember(), message.getTextChannel())) @@ -280,18 +280,23 @@ public void performAutomod(Message message) AutomodStatus currentStatus = new AutomodStatus(); if(preventSpam) { - runAntiDuplicate(settings, currentStatus, message); + if(!isEdit) + runAntiDuplicate(settings, currentStatus, message); runMaxLines(settings, currentStatus, message); runAntiCopypasta(settings, currentStatus, message); - runAntiEveryone(settings, currentStatus, message); + if(!isEdit) + runAntiEveryone(settings, currentStatus, message); } if(preventInvites) { runAntiInvite(settings, currentStatus, message, inviteWhitelist); } - runAntiMention(settings, currentStatus, message); - runAntiMentionRoles(settings, currentStatus, message); - runAntiReferral(settings, currentStatus, message); + if(!isEdit) + { + runAntiMention(settings, currentStatus, message); + runAntiMentionRoles(settings, currentStatus, message); + } + runAntiReferral(settings, currentStatus, message); runFilters(settings, currentStatus, message, filters); // delete the message if applicable