diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java index 1c37fe8f3f..094d05b5ce 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java @@ -48,6 +48,7 @@ import java.util.function.Predicate; import java.util.function.UnaryOperator; import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * Listener that receives all sent messages from channels, checks them for scam and takes @@ -247,15 +248,24 @@ private void reportScamMessage(MessageReceivedEvent event, String reportTitle, User author = event.getAuthor(); String avatarOrDefaultUrl = author.getEffectiveAvatarUrl(); - - MessageEmbed embed = - new EmbedBuilder().setDescription(event.getMessage().getContentStripped()) - .setTitle(reportTitle) - .setAuthor(author.getName(), null, avatarOrDefaultUrl) - .setTimestamp(event.getMessage().getTimeCreated()) - .setColor(AMBIENT_COLOR) - .setFooter(author.getId()) - .build(); + String content = event.getMessage().getContentStripped(); + List attachments = event.getMessage().getAttachments(); + + if (!attachments.isEmpty()) { + String attachmentInfo = attachments.stream() + .map(Message.Attachment::getFileName) + .collect(Collectors.joining(", ")); + content += "%s(The message has %d attachment%s: %s)".formatted( + content.isBlank() ? "" : "\n", attachments.size(), + attachments.size() > 1 ? "s " : "", attachmentInfo); + } + MessageEmbed embed = new EmbedBuilder().setDescription(content) + .setTitle(reportTitle) + .setAuthor(author.getName(), null, avatarOrDefaultUrl) + .setTimestamp(event.getMessage().getTimeCreated()) + .setColor(AMBIENT_COLOR) + .setFooter(author.getId()) + .build(); MessageCreateBuilder messageBuilder = new MessageCreateBuilder().setEmbeds(embed); if (!confirmDialog.isEmpty()) {