From e99e1f6e123425da7e5be9a3a70ba9559adae3f0 Mon Sep 17 00:00:00 2001 From: MartinReinhart Date: Tue, 15 Nov 2022 23:18:20 +0100 Subject: [PATCH] files without extenions are blacklisted now --- .../BlacklistedAttachmentListener.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/moderation/attachment/BlacklistedAttachmentListener.java b/application/src/main/java/org/togetherjava/tjbot/commands/moderation/attachment/BlacklistedAttachmentListener.java index 69a8e6024c..6ec3819d55 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/moderation/attachment/BlacklistedAttachmentListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/moderation/attachment/BlacklistedAttachmentListener.java @@ -15,7 +15,7 @@ import org.togetherjava.tjbot.config.Config; import org.togetherjava.tjbot.moderation.ModAuditLogWriter; -import java.awt.Color; +import java.awt.*; import java.util.List; import java.util.Locale; import java.util.function.UnaryOperator; @@ -103,17 +103,21 @@ private MessageCreateData createBaseResponse(String originalMessageContent, private List getBlacklistedAttachmentsFromMessage(Message originalMessage) { return originalMessage.getAttachments() .stream() - .filter(attachment -> blacklistedFileExtensions - .contains(attachment.getFileExtension().toLowerCase(Locale.US))) + .filter(this::containsBlacklistedFileExtensions) .map(Message.Attachment::getFileName) .toList(); } private boolean doesMessageContainBlacklistedContent(Message message) { - return message.getAttachments() - .stream() - .anyMatch(attachment -> blacklistedFileExtensions - .contains(attachment.getFileExtension().toLowerCase(Locale.US))); + return message.getAttachments().stream().anyMatch(this::containsBlacklistedFileExtensions); + } + + private boolean containsBlacklistedFileExtensions(Message.Attachment attachment) { + if (attachment.getFileExtension() == null) { + return true; + } + return blacklistedFileExtensions + .contains(attachment.getFileExtension().toLowerCase(Locale.US)); } private void warnMods(Message sentUserMessage) {