diff --git a/src/main/java/net/discordjug/javabot/data/h2db/message_cache/MessageCache.java b/src/main/java/net/discordjug/javabot/data/h2db/message_cache/MessageCache.java index 13d49d4dd..606fec2fb 100644 --- a/src/main/java/net/discordjug/javabot/data/h2db/message_cache/MessageCache.java +++ b/src/main/java/net/discordjug/javabot/data/h2db/message_cache/MessageCache.java @@ -206,15 +206,24 @@ private MessageEmbed buildMessageDeleteEmbed(Guild guild, User author, MessageCh message.getMessageContent().length(), MessageEmbed.VALUE_MAX_LENGTH)), false); if (!message.getAttachments().isEmpty()) { - eb.addField("Attachments", - message - .getAttachments() - .stream() - .collect(Collectors.joining("\n")), - false); + addAttachmentsToMessageBuilder(message, eb); } - return eb - .build(); + return eb.build(); + } + + private void addAttachmentsToMessageBuilder(CachedMessage message, EmbedBuilder eb) { + StringBuilder attachmentBuilder = new StringBuilder(); + for (String attachment : message.getAttachments()) { + if (attachmentBuilder.length() + attachment.length() >= MessageEmbed.VALUE_MAX_LENGTH - 1) { + eb.addField("Attachments", attachmentBuilder.toString(),false); + attachmentBuilder.setLength(0); + + } else { + attachmentBuilder.append('\n'); + } + attachmentBuilder.append(attachment); + } + eb.addField("Attachments", attachmentBuilder.toString(), false); } private InputStream buildDeletedMessageFile(User author, CachedMessage message) {