Skip to content

Commit 816fe9a

Browse files
If a avatar is animated, use webp instead of GIFs
Since ~06/02/2026, Discord does not allow transcoding webps to GIFs, so we need to ALWAYS use webps for avatars instead of GIFs
1 parent 9c3d8ac commit 816fe9a

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

  • src/main/java/net/dv8tion/jda/api/entities

src/main/java/net/dv8tion/jda/api/entities/User.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import net.dv8tion.jda.internal.utils.Checks;
2626
import net.dv8tion.jda.internal.utils.EntityString;
2727
import net.dv8tion.jda.internal.utils.Helpers;
28+
import net.dv8tion.jda.internal.utils.IOUtil;
2829
import org.jetbrains.annotations.Unmodifiable;
2930

3031
import java.awt.*;
@@ -192,9 +193,14 @@ default String getEffectiveName() {
192193
@Nullable
193194
default String getAvatarUrl() {
194195
String avatarId = getAvatarId();
195-
return avatarId == null
196-
? null
197-
: String.format(AVATAR_URL, getId(), avatarId, avatarId.startsWith("a_") ? "gif" : "png");
196+
if (avatarId == null)
197+
return null;
198+
199+
boolean isAnimated = avatarId.startsWith("a_");
200+
String avatarUrl = String.format(AVATAR_URL, getId(), avatarId, avatarId.startsWith("a_") ? "webp" : "png");
201+
if (isAnimated)
202+
avatarUrl = IOUtil.addQuery(avatarUrl, "animated", "true");
203+
return avatarUrl;
198204
}
199205

200206
/**

0 commit comments

Comments
 (0)