Skip to content

Commit 6434a97

Browse files
Added better-looking 'Message Not Cached' warning
1 parent 21a07d7 commit 6434a97

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

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

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public void onMessageDelete(@NotNull MessageDeleteEvent event) {
117117
});
118118
cache.remove(message);
119119
} else {
120-
GuildUtils.getCacheLogChannel(event.getGuild()).sendMessage(String.format("Message `%s` was not cached, thus, I cannot retrieve its content.", event.getMessageIdLong())).queue();
120+
GuildUtils.getCacheLogChannel(event.getGuild()).sendMessageEmbeds(buildMessageNotCachedEmbed(event.getGuild(), event.getChannel(), event.getMessageIdLong())).queue();
121121
}
122122
}
123123

@@ -142,20 +142,20 @@ private boolean ignoreMessageCache(Message message) {
142142
config.getExcludedChannels().contains(message.getChannel().getIdLong());
143143
}
144144

145-
private EmbedBuilder buildMessageCacheEmbed(User author, MessageChannel channel, CachedMessage before){
145+
private EmbedBuilder buildMessageCacheEmbed(MessageChannel channel, CachedMessage before){
146146
long epoch = IdCalculatorCommand.getTimestampFromId(before.getMessageId()) / 1000;
147147
return new EmbedBuilder()
148-
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
149-
.addField("Author", author.getAsMention(), true)
150148
.addField("Channel", channel.getAsMention(), true)
151149
.addField("Created at", String.format("<t:%s:F>", epoch), true)
152150
.setFooter("ID: " + before.getMessageId());
153151
}
154152

155153
private MessageEmbed buildMessageEditEmbed(Guild guild, User author, MessageChannel channel, CachedMessage before, Message after) {
156-
return buildMessageCacheEmbed(author, channel, before)
154+
return buildMessageCacheEmbed( channel, before)
155+
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
157156
.setTitle("Message Edited")
158157
.setColor(Bot.config.get(guild).getSlashCommand().getWarningColor())
158+
.addField("Author", author.getAsMention(), true)
159159
.addField("Before", before.getMessageContent().substring(0, Math.min(
160160
before.getMessageContent().length(),
161161
MessageEmbed.VALUE_MAX_LENGTH)), false)
@@ -166,16 +166,28 @@ private MessageEmbed buildMessageEditEmbed(Guild guild, User author, MessageChan
166166
}
167167

168168
private MessageEmbed buildMessageDeleteEmbed(Guild guild, User author, MessageChannel channel, CachedMessage message) {
169-
return buildMessageCacheEmbed(author, channel, message)
169+
return buildMessageCacheEmbed(channel, message)
170+
.setAuthor(author.getAsTag(), null, author.getEffectiveAvatarUrl())
170171
.setTitle("Message Deleted")
171172
.setColor(Bot.config.get(guild).getSlashCommand().getErrorColor())
173+
.addField("Author", author.getAsMention(), true)
172174
.addField("Message Content",
173175
message.getMessageContent().substring(0, Math.min(
174176
message.getMessageContent().length(),
175177
MessageEmbed.VALUE_MAX_LENGTH)), false)
176178
.build();
177179
}
178180

181+
private MessageEmbed buildMessageNotCachedEmbed(Guild guild, MessageChannel channel, long messageId) {
182+
CachedMessage message = new CachedMessage();
183+
message.setMessageId(messageId);
184+
return buildMessageCacheEmbed(channel, message)
185+
.setTitle("Message Deleted")
186+
.setDescription("The message was not cached, thus, I could not retrieve its content.")
187+
.setColor(Bot.config.get(guild).getSlashCommand().getDefaultColor())
188+
.build();
189+
}
190+
179191
private InputStream buildDeletedMessageFile(User author, CachedMessage message) {
180192
DateTimeFormatter formatter = TimeUtils.STANDARD_FORMATTER.withZone(ZoneOffset.UTC);
181193
Instant instant = Instant.ofEpochMilli(IdCalculatorCommand.getTimestampFromId(message.getMessageId()));

0 commit comments

Comments
 (0)