Skip to content
This repository was archived by the owner on Jun 9, 2024. It is now read-only.

Commit 63a1889

Browse files
authored
Merge pull request #616 from mewna/feature/update-cache-from-gmu
feature: Update cache from GUILD_MEMBER_UPDATE (closes #615)
2 parents e045ff4 + bc41bca commit 63a1889

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/main/java/com/mewna/catnip/shard/DispatchEmitter.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import org.apache.commons.lang3.tuple.ImmutablePair;
4646

4747
import javax.annotation.Nonnull;
48+
import java.util.List;
4849
import java.util.Optional;
4950

5051
import static com.mewna.catnip.cache.EntityCacheWorker.CachedEntityState.*;
@@ -217,6 +218,11 @@ private void emit0(@Nonnull final JsonObject payload) {
217218
case Raw.GUILD_MEMBER_UPDATE -> {
218219
final String guild = data.getString("guild_id");
219220
final PartialMember partialMember = catnip.entityBuilder().createPartialMember(guild, data);
221+
// TODO: Figure out firing a user update here
222+
if(data.has("user")) {
223+
final var user = catnip.entityBuilder().createUser(data.getObject("user"));
224+
catnip.cacheWorker().bulkCacheUsers(payload.getObject("shard").getInt("id"), List.of(user));
225+
}
220226
if(catnip.cacheWorker().canProvidePreviousState(MEMBER)) {
221227
catnip.cache().member(partialMember.guildIdAsLong(), partialMember.idAsLong())
222228
.map(Optional::of)

0 commit comments

Comments
 (0)