Skip to content

Commit cbb7ca8

Browse files
committed
fix webhook for native-image
1 parent 07da629 commit cbb7ca8

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/main/java/net/discordjug/javabot/RuntimeHintsConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.nio.channels.Channel;
44

5+
import club.minnced.discord.webhook.send.WebhookEmbed;
56
import net.discordjug.javabot.data.config.BotConfig;
67
import net.discordjug.javabot.data.config.GuildConfig;
78
import net.discordjug.javabot.data.config.GuildConfigItem;
@@ -48,7 +49,9 @@
4849
//ensure JDA can create necessary caches
4950
User[].class, Guild[].class, Member[].class, Role[].class, Channel[].class, AudioManager[].class, ScheduledEvent[].class, ThreadMember[].class, ForumTag[].class, RichCustomEmoji[].class, GuildSticker[].class, MemberPresenceImpl[].class,
5051
//needs to be serialized for channel managers etc
51-
PermOverrideData.class
52+
PermOverrideData.class,
53+
//ensure that webhook embed authors can be serialized
54+
WebhookEmbed.EmbedAuthor.class
5255
})
5356
public class RuntimeHintsConfiguration implements RuntimeHintsRegistrar {
5457

src/main/java/net/discordjug/javabot/util/WebhookUtil.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,13 @@ public static void ensureWebhookExists(@NotNull IWebhookContainer channel, @NotN
9191
* the message
9292
*/
9393
public static CompletableFuture<ReadonlyMessage> mirrorMessageToWebhook(@NotNull Webhook webhook, @NotNull Message originalMessage, String newMessageContent, long threadId, @Nullable List<LayoutComponent> components, @Nullable List<MessageEmbed> embeds) {
94-
return originalMessage.getGuild().retrieveMember(originalMessage.getAuthor()).submit().thenCompose(member -> mirrorMessageToWebhook(webhook, originalMessage, newMessageContent, threadId, components, embeds, member));
94+
return originalMessage
95+
.getGuild()
96+
.retrieveMember(originalMessage.getAuthor())
97+
.submit()
98+
.exceptionally(e -> null)//if the member cannot be found, use no member information
99+
.thenCompose(member ->
100+
mirrorMessageToWebhook(webhook, originalMessage, newMessageContent, threadId, components, embeds, member));
95101
}
96102

97103
private static CompletableFuture<ReadonlyMessage> mirrorMessageToWebhook(@NotNull Webhook webhook, Message originalMessage, String newMessageContent, long threadId,

0 commit comments

Comments
 (0)