55import net .discordjug .javabot .systems .moderation .warn .model .WarnSeverity ;
66import net .discordjug .javabot .systems .notification .NotificationService ;
77import net .discordjug .javabot .util .ExceptionLogger ;
8+ import net .discordjug .javabot .util .MessageUtils ;
89import net .dv8tion .jda .api .Permission ;
910import net .dv8tion .jda .api .entities .Member ;
1011import net .dv8tion .jda .api .entities .Message ;
11- import net .dv8tion .jda .api .entities .MessageReference ;
1212import net .dv8tion .jda .api .entities .channel .unions .MessageChannelUnion ;
13- import net .dv8tion .jda .api .entities .messages .MessageSnapshot ;
1413import net .dv8tion .jda .api .events .message .MessageReceivedEvent ;
1514import net .dv8tion .jda .api .events .message .MessageUpdateEvent ;
1615import net .dv8tion .jda .api .hooks .ListenerAdapter ;
@@ -134,7 +133,7 @@ private void checkContentAutomod(@Nonnull Message message) {
134133 }
135134
136135 private void doAutomodActions (Message message , String reason ) {
137- notificationService .withGuild (message .getGuild ()).sendToModerationLog (c -> c .sendMessageFormat ("Message by %s: `%s`" , message .getAuthor ().getAsMention (), getMessageContent (message )));
136+ notificationService .withGuild (message .getGuild ()).sendToModerationLog (c -> c .sendMessageFormat ("Message by %s: `%s`" , message .getAuthor ().getAsMention (), MessageUtils . getMessageContent (message )));
138137 moderationService
139138 .warn (
140139 message .getAuthor (),
@@ -190,7 +189,7 @@ private void handleSpam(@Nonnull Message msg, Member member) {
190189 * @return True if a link is found and False if not.
191190 */
192191 public boolean hasSuspiciousLink (@ NotNull Message message ) {
193- final String messageRaw = getMessageContent (message );
192+ final String messageRaw = MessageUtils . getMessageContent (message );
194193 Matcher urlMatcher = URL_PATTERN .matcher (messageRaw );
195194 if (messageRaw .contains ("http://" ) || messageRaw .contains ("https://" )) {
196195 // only do it for a links, so it won't iterate for each message
@@ -219,7 +218,7 @@ public boolean hasSuspiciousLink(@NotNull Message message) {
219218 */
220219 public boolean hasAdvertisingLink (@ NotNull Message message ) {
221220 // Advertising
222- Matcher matcher = INVITE_URL .matcher (cleanString (getMessageContent (message )));
221+ Matcher matcher = INVITE_URL .matcher (cleanString (MessageUtils . getMessageContent (message )));
223222 int start = 0 ;
224223 while (matcher .find (start )) {
225224 if (botConfig .get (message .getGuild ()).getModerationConfig ().getAutomodInviteExcludes ().stream ().noneMatch (matcher .group ()::contains )) {
@@ -235,15 +234,4 @@ private boolean isSuggestionsChannel(@NotNull MessageChannelUnion channel) {
235234 channel .getIdLong () == botConfig .get (channel .asGuildMessageChannel ().getGuild ()).getModerationConfig ().getSuggestionChannel ().getIdLong ();
236235 }
237236
238- private String getMessageContent (Message msg ) {
239- //see https://github.com/discord-jda/JDA/releases/tag/v5.1.2
240- MessageReference messageReference = msg .getMessageReference ();
241- if (messageReference != null && messageReference .getType () == MessageReference .MessageReferenceType .FORWARD ) {
242- MessageSnapshot snapshot = msg .getMessageSnapshots ().get (0 );
243- if (snapshot != null ) {
244- return snapshot .getContentRaw ();
245- }
246- }
247- return msg .getContentRaw ();
248- }
249237}
0 commit comments