Skip to content

Commit 636cb70

Browse files
removed 'not-cached' message & added guild-check
1 parent 5bcf666 commit 636cb70

File tree

2 files changed

+9
-36
lines changed

2 files changed

+9
-36
lines changed

src/main/java/net/javadiscord/javabot/data/h2db/message_cache/MessageCache.java

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -115,23 +115,22 @@ public void sendDeletedMessageToLog(Guild guild, MessageChannel channel, CachedM
115115
}
116116
action.queue();
117117
});
118-
cache.remove(message);
119118
}
120119

121-
private EmbedBuilder buildMessageCacheEmbed(MessageChannel channel, CachedMessage before) {
120+
private EmbedBuilder buildMessageCacheEmbed(MessageChannel channel, User author, CachedMessage before) {
122121
long epoch = IdCalculatorCommand.getTimestampFromId(before.getMessageId()) / 1000;
123122
return new EmbedBuilder()
123+
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
124+
.addField("Author", author.getAsMention(), true)
124125
.addField("Channel", channel.getAsMention(), true)
125126
.addField("Created at", String.format("<t:%s:F>", epoch), true)
126127
.setFooter("ID: " + before.getMessageId());
127128
}
128129

129130
private MessageEmbed buildMessageEditEmbed(Guild guild, User author, MessageChannel channel, CachedMessage before, Message after) {
130-
return buildMessageCacheEmbed(channel, before)
131-
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
131+
return buildMessageCacheEmbed(channel, author, before)
132132
.setTitle("Message Edited")
133133
.setColor(Bot.config.get(guild).getSlashCommand().getWarningColor())
134-
.addField("Author", author.getAsMention(), true)
135134
.addField("Before", before.getMessageContent().substring(0, Math.min(
136135
before.getMessageContent().length(),
137136
MessageEmbed.VALUE_MAX_LENGTH)), false)
@@ -142,36 +141,16 @@ private MessageEmbed buildMessageEditEmbed(Guild guild, User author, MessageChan
142141
}
143142

144143
private MessageEmbed buildMessageDeleteEmbed(Guild guild, User author, MessageChannel channel, CachedMessage message) {
145-
return buildMessageCacheEmbed(channel, message)
146-
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
144+
return buildMessageCacheEmbed(channel, author, message)
147145
.setTitle("Message Deleted")
148146
.setColor(Bot.config.get(guild).getSlashCommand().getErrorColor())
149-
.addField("Author", author.getAsMention(), true)
150147
.addField("Message Content",
151148
message.getMessageContent().substring(0, Math.min(
152149
message.getMessageContent().length(),
153150
MessageEmbed.VALUE_MAX_LENGTH)), false)
154151
.build();
155152
}
156153

157-
/**
158-
* Builds a {@link MessageEmbed} object that is used for messages, that were deleted but not cached.
159-
*
160-
* @param guild The message's guild.
161-
* @param channel The message's channel.
162-
* @param messageId The message's id.
163-
* @return The fully-built {@link MessageEmbed} object.
164-
*/
165-
public MessageEmbed buildMessageNotCachedEmbed(Guild guild, MessageChannel channel, long messageId) {
166-
CachedMessage message = new CachedMessage();
167-
message.setMessageId(messageId);
168-
return buildMessageCacheEmbed(channel, message)
169-
.setTitle("Message Deleted")
170-
.setDescription("The message was not cached, thus, I could not retrieve its content.")
171-
.setColor(Bot.config.get(guild).getSlashCommand().getDefaultColor())
172-
.build();
173-
}
174-
175154
private InputStream buildDeletedMessageFile(User author, CachedMessage message) {
176155
DateTimeFormatter formatter = TimeUtils.STANDARD_FORMATTER.withZone(ZoneOffset.UTC);
177156
Instant instant = Instant.ofEpochMilli(IdCalculatorCommand.getTimestampFromId(message.getMessageId()));

src/main/java/net/javadiscord/javabot/data/h2db/message_cache/MessageCacheListener.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import net.javadiscord.javabot.Bot;
99
import net.javadiscord.javabot.data.config.guild.MessageCacheConfig;
1010
import net.javadiscord.javabot.data.h2db.message_cache.model.CachedMessage;
11-
import net.javadiscord.javabot.util.GuildUtils;
1211
import org.jetbrains.annotations.NotNull;
1312

1413
import java.util.List;
@@ -46,15 +45,10 @@ public void onMessageUpdate(@NotNull MessageUpdateEvent event) {
4645
@Override
4746
public void onMessageDelete(@NotNull MessageDeleteEvent event) {
4847
Optional<CachedMessage> optional = Bot.messageCache.cache.stream().filter(m -> m.getMessageId() == event.getMessageIdLong()).findFirst();
49-
if (optional.isPresent()) {
50-
CachedMessage message = optional.get();
51-
if (message.getAuthorId() == event.getJDA().getSelfUser().getIdLong()) return;
48+
optional.ifPresent(message -> {
5249
Bot.messageCache.sendDeletedMessageToLog(event.getGuild(), event.getChannel(), message);
53-
} else {
54-
GuildUtils.getCacheLogChannel(event.getGuild())
55-
.sendMessageEmbeds(Bot.messageCache.buildMessageNotCachedEmbed(event.getGuild(), event.getChannel(), event.getMessageIdLong()))
56-
.queue();
57-
}
50+
Bot.messageCache.cache.remove(message);
51+
});
5852
}
5953

6054

@@ -74,7 +68,7 @@ public void onMessageDelete(@NotNull MessageDeleteEvent event) {
7468
*/
7569
private boolean ignoreMessageCache(Message message) {
7670
MessageCacheConfig config = Bot.config.get(message.getGuild()).getMessageCache();
77-
return message.getAuthor().isBot() || message.getAuthor().isSystem() ||
71+
return !message.isFromGuild() || message.getAuthor().isBot() || message.getAuthor().isSystem() ||
7872
config.getExcludedUsers().contains(message.getAuthor().getIdLong()) ||
7973
config.getExcludedChannels().contains(message.getChannel().getIdLong());
8074
}

0 commit comments

Comments
 (0)