Skip to content

Commit 411d0c5

Browse files
authored
Handle user in EntityBuilder#createApplicationEmoji as optional (#2769)
1 parent 51f907c commit 411d0c5

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

src/main/java/net/dv8tion/jda/internal/JDAImpl.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,8 @@ public RestAction<ApplicationEmoji> createApplicationEmoji(@Nonnull String name,
693693
return new RestActionImpl<>(this, route, body, (response, request) ->
694694
{
695695
final DataObject obj = response.getObject();
696-
return entityBuilder.createApplicationEmoji(this, obj);
696+
final User selfUser = getSelfUser();
697+
return entityBuilder.createApplicationEmoji(this, obj, selfUser);
697698
});
698699
}
699700

@@ -710,7 +711,12 @@ public RestAction<List<ApplicationEmoji>> retrieveApplicationEmojis()
710711
{
711712
try
712713
{
713-
list.add(entityBuilder.createApplicationEmoji(this, emojis.getObject(i)));
714+
final DataObject emoji = emojis.getObject(i);
715+
final User owner = emoji.optObject("user")
716+
.map(entityBuilder::createUser)
717+
.orElse(null);
718+
719+
list.add(entityBuilder.createApplicationEmoji(this, emoji, owner));
714720
}
715721
catch (ParsingException e)
716722
{
@@ -728,9 +734,15 @@ public RestAction<ApplicationEmoji> retrieveApplicationEmojiById(@Nonnull String
728734
{
729735
Checks.isSnowflake(emojiId);
730736
Route.CompiledRoute route = Route.Applications.GET_APPLICATION_EMOJI.compile(getSelfUser().getApplicationId(), emojiId);
731-
return new RestActionImpl<>(this, route,
732-
(response, request) -> entityBuilder.createApplicationEmoji(this, response.getObject())
733-
);
737+
return new RestActionImpl<>(this, route, (response, request) ->
738+
{
739+
final DataObject emoji = response.getObject();
740+
final User owner = emoji.optObject("user")
741+
.map(entityBuilder::createUser)
742+
.orElse(null);
743+
744+
return entityBuilder.createApplicationEmoji(this, emoji, owner);
745+
});
734746
}
735747

736748
@Nonnull

src/main/java/net/dv8tion/jda/internal/entities/EntityBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,11 +1021,11 @@ public RichCustomEmojiImpl createEmoji(GuildImpl guildObj, DataObject json)
10211021
.setAvailable(json.getBoolean("available", true));
10221022
}
10231023

1024-
public ApplicationEmojiImpl createApplicationEmoji(JDAImpl api, DataObject json)
1024+
public ApplicationEmojiImpl createApplicationEmoji(JDAImpl api, DataObject json, User owner)
10251025
{
10261026
final long emojiId = json.getUnsignedLong("id");
1027-
final User user = createUser(json.getObject("user"));
1028-
return new ApplicationEmojiImpl(emojiId, api, user)
1027+
1028+
return new ApplicationEmojiImpl(emojiId, api, owner)
10291029
.setAnimated(json.getBoolean("animated"))
10301030
.setName(json.getString("name"));
10311031
}

0 commit comments

Comments
 (0)