[BUG] Fix issues with empty server avatars on custom embeds

This commit is contained in:
2023-10-20 20:47:10 +02:00
parent fdb51c4d01
commit 46fe495910

View File

@@ -16,6 +16,7 @@ import com.hypherionmc.sdlink.core.managers.ChannelManager;
import com.hypherionmc.sdlink.core.managers.EmbedManager; import com.hypherionmc.sdlink.core.managers.EmbedManager;
import com.hypherionmc.sdlink.core.managers.WebhookManager; import com.hypherionmc.sdlink.core.managers.WebhookManager;
import com.hypherionmc.sdlink.core.messaging.MessageType; import com.hypherionmc.sdlink.core.messaging.MessageType;
import com.hypherionmc.sdlink.core.util.SDLinkUtils;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel; import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
@@ -247,8 +248,6 @@ public final class DiscordMessage {
@Nonnull @Nonnull
private EmbedBuilder fromData(@Nonnull DataObject data) { private EmbedBuilder fromData(@Nonnull DataObject data) {
// TODO Fix Error with empty URL links
Checks.notNull(data, "DataObject"); Checks.notNull(data, "DataObject");
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
@@ -267,26 +266,26 @@ public final class DiscordMessage {
} }
data.optObject("thumbnail").ifPresent(thumbnail -> data.optObject("thumbnail").ifPresent(thumbnail ->
builder.setThumbnail(thumbnail.getString("url")) builder.setThumbnail(SDLinkUtils.isNullOrEmpty(thumbnail.getString("url")) ? null : thumbnail.getString("url"))
); );
data.optObject("author").ifPresent(author -> data.optObject("author").ifPresent(author ->
builder.setAuthor( builder.setAuthor(
author.getString("name", ""), author.getString("name", ""),
author.getString("url", null), SDLinkUtils.isNullOrEmpty(author.getString("url", null)) ? null : author.getString("url", null),
author.getString("icon_url", null) SDLinkUtils.isNullOrEmpty(author.getString("icon_url", null)) ? null : author.getString("icon_url", null)
) )
); );
data.optObject("footer").ifPresent(footer -> data.optObject("footer").ifPresent(footer ->
builder.setFooter( builder.setFooter(
footer.getString("text", ""), footer.getString("text", ""),
footer.getString("icon_url", null) SDLinkUtils.isNullOrEmpty(footer.getString("icon_url", null)) ? null : footer.getString("icon_url", null)
) )
); );
data.optObject("image").ifPresent(image -> data.optObject("image").ifPresent(image ->
builder.setImage(image.getString("url")) builder.setImage(SDLinkUtils.isNullOrEmpty(image.getString("url")) ? null : image.getString("url"))
); );
data.optArray("fields").ifPresent(arr -> data.optArray("fields").ifPresent(arr ->