Skip to content

Commit f898cc2

Browse files
committed
Fix: audit message being empty for attachment-only scam posts (#1300)
1 parent d219d0e commit f898cc2

File tree

1 file changed

+14
-2
lines changed
  • application/src/main/java/org/togetherjava/tjbot/features/moderation/scam

1 file changed

+14
-2
lines changed

application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import java.util.function.Predicate;
4949
import java.util.function.UnaryOperator;
5050
import java.util.regex.Pattern;
51+
import java.util.stream.Collectors;
5152

5253
/**
5354
* Listener that receives all sent messages from channels, checks them for scam and takes
@@ -247,9 +248,20 @@ private void reportScamMessage(MessageReceivedEvent event, String reportTitle,
247248

248249
User author = event.getAuthor();
249250
String avatarOrDefaultUrl = author.getEffectiveAvatarUrl();
250-
251+
String content = event.getMessage().getContentStripped();
252+
List<Message.Attachment> attachments = event.getMessage().getAttachments();
253+
254+
if (!attachments.isEmpty()) {
255+
String attachmentInfo = attachments.stream()
256+
.map(Message.Attachment::getFileName)
257+
.collect(Collectors.joining(", "));
258+
content += (content.isEmpty() ? "" : " ")
259+
+ "and " + attachments.size() + " attachment"
260+
+ (attachments.size() > 1 ? "s " : " ")
261+
+ "(" + attachmentInfo + ")";
262+
}
251263
MessageEmbed embed =
252-
new EmbedBuilder().setDescription(event.getMessage().getContentStripped())
264+
new EmbedBuilder().setDescription(content)
253265
.setTitle(reportTitle)
254266
.setAuthor(author.getName(), null, avatarOrDefaultUrl)
255267
.setTimestamp(event.getMessage().getTimeCreated())

0 commit comments

Comments
 (0)