Skip to content

Commit 511c485

Browse files
Fix: audit message being empty for attachment-only scam posts (#1300) (#1325)
* Fix: audit message being empty for attachment-only scam posts (#1300) * spotless formatting * ux improvements for the text * small fix with extra space --------- Co-authored-by: Janki.Bhimijani <[email protected]> Co-authored-by: Zabuzard <[email protected]>
1 parent d219d0e commit 511c485

File tree

1 file changed

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

1 file changed

+19
-9
lines changed

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

Lines changed: 19 additions & 9 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,15 +248,24 @@ private void reportScamMessage(MessageReceivedEvent event, String reportTitle,
247248

248249
User author = event.getAuthor();
249250
String avatarOrDefaultUrl = author.getEffectiveAvatarUrl();
250-
251-
MessageEmbed embed =
252-
new EmbedBuilder().setDescription(event.getMessage().getContentStripped())
253-
.setTitle(reportTitle)
254-
.setAuthor(author.getName(), null, avatarOrDefaultUrl)
255-
.setTimestamp(event.getMessage().getTimeCreated())
256-
.setColor(AMBIENT_COLOR)
257-
.setFooter(author.getId())
258-
.build();
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 += "%s(The message has %d attachment%s: %s)".formatted(
259+
content.isBlank() ? "" : "\n", attachments.size(),
260+
attachments.size() > 1 ? "s " : "", attachmentInfo);
261+
}
262+
MessageEmbed embed = new EmbedBuilder().setDescription(content)
263+
.setTitle(reportTitle)
264+
.setAuthor(author.getName(), null, avatarOrDefaultUrl)
265+
.setTimestamp(event.getMessage().getTimeCreated())
266+
.setColor(AMBIENT_COLOR)
267+
.setFooter(author.getId())
268+
.build();
259269

260270
MessageCreateBuilder messageBuilder = new MessageCreateBuilder().setEmbeds(embed);
261271
if (!confirmDialog.isEmpty()) {

0 commit comments

Comments
 (0)