// Metro module 1874 (f1875). import OverridePremiumTypeStore from "../modules/premium/OverridePremiumTypeStore"; import UserRecord from "../records/UserRecord"; import AuthenticationStore from "./AuthenticationStore"; import MobileCacheSnapshotStore from "./MobileCacheSnapshotStore"; import { ChannelTypes, MessageFlags, UserFlags } from "../Constants"; import { UNSELECTED_PREMIUM_TYPE_OVERRIDE } from "../modules/premium/PremiumConstants"; import * as _PrimaryGuildUtils from "../modules/guild_tag/PrimaryGuildUtils"; import { ensureUserPrimaryGuild } from "../modules/guild_tag/PrimaryGuildUtils"; import * as _UserStoreUtils from "../modules/user/UserStoreUtils"; import { getPremiumTypeFromRawValue, isStaffEnvRawData, validatePremiumType } from "../modules/user/UserStoreUtils"; import { parseAvatarDecorationData } from "../modules/collectibles/avatar_decorations/AvatarDecorationUtils"; import { parseServerUserCollectibles } from "../modules/collectibles/utils/mappers"; import { parseServerDisplayNameStyles } from "../modules/display_name_styles/DisplayNameStylesUtils"; import { parseServerPremiumState } from "../modules/premium/premium_state/PremiumStateUtils"; import { RestrictedScheduleRecord } from "../modules/parent_tools/FamilyCenterModels"; import { hasFlag, setFlag } from "../_bundle/Module1384"; import { camelCase } from "../_bundle/Module12"; import isActivityParticipantValidGuildMember from "../modules/activities/isActivityParticipantValidGuildMember"; import { AgeVerificationStatusUkAndAusOnly } from "../flow/Server"; import { isNotNullish } from "../utils/GlobalUtils"; import { HermesBuiltin, $forInKeys } from "../_hermes/prelude"; let c1579_11, c1579_12, id, mergeUserPrimaryGuild, transformUser, mergeUser, mergeUsersFromMessage, handleConnectionOpen, handleConnectionOpenSupplemental, isIncompleteUser, handleInitialize, handleUserUpdate, handleRestrictedScheduleUpdate, handleUserProfileFetchSuccess, handleCurrentUserUpdate, updatePremiumType, handleLoadMessages, handleConversationFetchSuccess, handleConversationsFetchSuccess, handleLoadPinnedMessages, handleThreadListSync, handleLoadSearchResults, handleLoadThreadsSuccess, handleLoadForumPosts, handleLoadMessageRequestsSupplementalDataSuccess, handleFetchUsersForGuildEventSuccess, handleLoadNotificationCenterItems, handleNotificationCenterItemCreate, handleIncomingMessage, handleCreateChannel, handleUpdateChannels, _excluded, handlePresenceUpdates, handleLoadedBans, handleLoadedBansBatch, handleBan, handleRecipient, handleGuildMembers, handleGuildMemberListUpdate, handleGuildMembersChunkBatch, handlePassiveUpdateV2, handleLocalMessagesLoaded, handleThreadMemberListUpdate, handleThreadMembersUpdate, handleGuildCreate, handleRelationshipAdd, handleGameRelationshipAdd, handleLoadRelationships, handleFriendSuggestionCreate, handleLoadFriendSuggestions, handleAuditLogFetched, handleGiftCodeResolve, handleGuildPremiumSubscriptionsFetchSuccess, handleGuildJoinRequest, handleInitialFamilyCenterLoad, handleLinkedUserFetch, handleRequestLinkSuccess, handleTeenActivityFetch, handleTeenActivityMoreFetch, handleMemberSafetyGuildMemberSearchSuccess, handleLoadICYMIHydratedItems, handleEmbeddedActivityUpdateV2, handleInitiateAgeVerification, handleCloseAgeVerificationModal, handleInteractionModalCreate, handleGuildStickersFetchSuccess; const mergeGuildAvatar = function mergeGuildAvatar(id, guildId, avatar) { const r5 = c1579_11[id]; if (r5 == null) { return false; } const r10 = avatar == null ? r5.removeGuildAvatarHash(guildId) : r5.addGuildAvatarHash(guildId, avatar); c1579_11[r5.id] = r10; const r13 = r5 !== r10; if (r13) { c1579_12 = c1579_12 + 1; } return r13; }; mergeUserPrimaryGuild = function mergeUserPrimaryGuild(id, user) { const r8 = c1579_11[id]; let r2 = r8 != null; if (r2) { const isUserPrimaryGuildEqual = _PrimaryGuildUtils.isUserPrimaryGuildEqual(r8.primaryGuild, user.primary_guild); let r3 = !isUserPrimaryGuildEqual; if (!isUserPrimaryGuildEqual) { let r1 = r8.primaryGuild == null || user.primary_guild != null; if (r1) { r8.primaryGuild = ensureUserPrimaryGuild(user.primary_guild); c1579_11[r8.id] = r8; c1579_12 = c1579_12 + 1; r1 = true; } r3 = r1; } r2 = r3; } return r2; }; transformUser = function transformUser(a0) { const mfa_enabled = a0.mfa_enabled; if (mfa_enabled != null) { a0.mfaEnabled = mfa_enabled; delete a0["mfa_enabled"]; } const premiumTypeFromRawValue = getPremiumTypeFromRawValue(a0.premium_type); if (premiumTypeFromRawValue !== void 0) { a0.premiumType = premiumTypeFromRawValue; delete a0["premium_type"]; } const nsfw_allowed = a0.nsfw_allowed; if (nsfw_allowed != null) { a0.nsfwAllowed = nsfw_allowed; delete a0["nsfw_allowed"]; } const age_verification_status = a0.age_verification_status; if (age_verification_status != null) { a0.ageVerificationStatus = age_verification_status; delete a0["age_verification_status"]; } const public_flags = a0.public_flags; if (public_flags != null) { a0.publicFlags = public_flags; delete a0["public_flags"]; } const purchased_flags = a0.purchased_flags; if (purchased_flags !== void 0) { a0.purchasedFlags = purchased_flags; delete a0["purchased_flags"]; } const premium_usage_flags = a0.premium_usage_flags; if (premium_usage_flags !== void 0) { a0.premiumUsageFlags = premium_usage_flags; delete a0["premium_usage_flags"]; } if (a0.banner_color === null) { delete a0["banner_color"]; } const avatar_decoration_data = a0.avatar_decoration_data; if (avatar_decoration_data !== void 0) { a0.avatarDecorationData = parseAvatarDecorationData(avatar_decoration_data); delete a0["avatar_decoration_data"]; } const collectibles = a0.collectibles; if (collectibles !== void 0) { delete a0["collectibles"]; a0.collectibles = parseServerUserCollectibles(collectibles); } const global_name = a0.global_name; if (global_name !== void 0) { a0.globalName = global_name; delete a0["global_name"]; } const primary_guild = a0.primary_guild; if (primary_guild !== void 0) { a0.primary_guild = ensureUserPrimaryGuild(primary_guild); } const display_name_styles = a0.display_name_styles; if (display_name_styles !== void 0) { a0.displayNameStyles = parseServerDisplayNameStyles(display_name_styles); delete a0["display_name_styles"]; } const premium_state = a0.premium_state; if (premium_state !== void 0) { a0.premiumState = parseServerPremiumState(premium_state); delete a0["premium_state"]; } const restricted_schedule = a0.restricted_schedule; if (restricted_schedule !== void 0) { let restrictedSchedule = RestrictedScheduleRecord.fromServer(restricted_schedule); if (restrictedSchedule == null) { restrictedSchedule = null; } a0.restrictedSchedule = restrictedSchedule; delete a0["restricted_schedule"]; } const app_transaction_ids = a0.app_transaction_ids; if (app_transaction_ids !== void 0) { a0.appTransactionIds = app_transaction_ids; delete a0["app_transaction_ids"]; } return a0; }; mergeUser = function mergeUser(a0, r10 = true) { let r14, r26; const r12 = c1579_11[a0.id]; const r4 = a0.id !== void 0 && a0.id === AuthenticationStore.getId(); if (r12 == null) { transformUser(a0); const userRecord = new UserRecord(a0); const premiumType = userRecord.premiumType; const r74 = premiumType !== void 0 && r4; r26 = userRecord; r14 = premiumType; if (r74) { const isStaffEnv = _UserStoreUtils.isStaffEnv(userRecord); let premiumType2 = userRecord.premiumType; if (isStaffEnv) { let r84 = OverridePremiumTypeStore.getPremiumTypeOverride(); const premiumTypeActual2 = OverridePremiumTypeStore.getPremiumTypeActual(); if (r84 === UNSELECTED_PREMIUM_TYPE_OVERRIDE) { r84 = premiumTypeActual2; } premiumType2 = r84; } userRecord.premiumType = premiumType2; r26 = userRecord; r14 = premiumType; } } else { r26 = r12; r14 = void 0; if (r10) { transformUser(a0); let premium_type = a0.premium_type; if (premium_type == null) { premium_type = a0.premiumType; } if (premium_type !== void 0 && r4 && isStaffEnvRawData(a0)) { let premium_type2 = a0.premium_type; if (premium_type2 == null) { premium_type2 = a0.premiumType; } if (isStaffEnvRawData(a0)) { let r43 = OverridePremiumTypeStore.getPremiumTypeOverride(); const premiumTypeActual = OverridePremiumTypeStore.getPremiumTypeActual(); if (r43 === UNSELECTED_PREMIUM_TYPE_OVERRIDE) { r43 = premiumTypeActual; } premium_type2 = r43; } if (a0.premiumType !== void 0) { a0.premiumType = premium_type2; } else if (a0.premium_type !== void 0) { a0.premium_type = premium_type2; } } const r1 = r12.primaryGuild == null && a0.primary_guild == null; L32: { if (r1 !== true) { if ((r12.primaryGuild != null && a0.primary_guild == null) !== true && _PrimaryGuildUtils.isUserPrimaryGuildEqual(r12.primaryGuild, a0.primary_guild) !== true) { a0.primary_guild = ensureUserPrimaryGuild(a0.primary_guild); break L32; } a0.primary_guild = r12.primaryGuild; } } r26 = r12.merge(a0); r14 = premium_type; } } validatePremiumType(_UserStoreUtils.isStaffEnv(r26), r14, r26.premiumType); const r101 = c1579_11[a0.id] !== r26; c1579_11[a0.id] = r26; if (r101) { c1579_12 = c1579_12 + 1; } return r101; }; mergeUsersFromMessage = function mergeUsersFromMessage(a0, a1) { if (a0.author != null && a0.state !== "SENDING" && a0.author.id !== AuthenticationStore.getId()) { mergeUser(a0.author, a1); } const mentions = a0.mentions; if (mentions != null) { mentions.forEach((mention) => { if (mention.id !== AuthenticationStore.getId()) { mergeUser(mention, a1); } }); } if (a0.interaction?.user != null && a0.interaction?.user.id !== AuthenticationStore.getId()) { mergeUser(a0.interaction.user, a1); } const attachments = a0.attachments; if (attachments != null) { attachments.forEach(({ clip_participants }) => { if (clip_participants != null) { clip_participants.forEach((clip_participant) => { if (clip_participant.id !== AuthenticationStore.getId()) { mergeUser(clip_participant, a1); } }); } }); } const resolved = a0.resolved; if (resolved?.users != null) { const users = resolved.users; for (const key in users) { const r54 = resolved.users[key]; if (r54.id !== AuthenticationStore.getId()) { mergeUser(r54, a1); } } } if (a0.interaction_metadata?.user != null && a0.interaction_metadata.user.id !== AuthenticationStore.getId()) { mergeUser(a0.interaction_metadata.user, a1); } if (a0.message_snapshots != null) { a0.message_snapshots.forEach((message_snapshot) => { const moderator_report = message_snapshot.moderator_report; if ((moderator_report == null ? void 0 : moderator_report.reported_member?.user) != null) { mergeUser(message_snapshot.moderator_report.reported_member.user, a1); } const moderator_report2 = message_snapshot.moderator_report; if ((moderator_report2 == null ? void 0 : moderator_report2.reporting_member?.user) != null) { mergeUser(message_snapshot.moderator_report.reporting_member.user, a1); } const r30 = Object; const message = message_snapshot.message; let r33 = message == null ? void 0 : message.resolved?.users; if (r33 == null) { r33 = {}; } r30.values(r33).forEach((item) => { if (item.id !== AuthenticationStore.getId()) { mergeUser(item, a1); } }); }); } }; handleConnectionOpen = function handleConnectionOpen({ user, users, guilds }) { delete user["premium"]; delete user["banner_color"]; mergeUser(user); users.forEach((user) => { mergeUser(user); }); guilds.forEach((guild) => { guild.members.forEach((member) => { const id4 = member.user.id; const id3 = guild.id; const avatar = member.avatar; const r8 = c1579_11[id4]; if (r8 != null) { const r18 = avatar == null ? r8.removeGuildAvatarHash(id3) : r8.addGuildAvatarHash(id3, avatar); c1579_11[r8.id] = r18; if (r8 !== r18) { c1579_12 = c1579_12 + 1; } } const id5 = member.user.id; const user = member.user; const r24 = c1579_11[id5]; if (r24 != null && !_PrimaryGuildUtils.isUserPrimaryGuildEqual(r24.primaryGuild, user.primary_guild) && (r24.primaryGuild == null || user.primary_guild != null)) { r24.primaryGuild = ensureUserPrimaryGuild(user.primary_guild); c1579_11[r24.id] = r24; c1579_12 = c1579_12 + 1; } }); }); if (c1579_11[AuthenticationStore.getId()] != null) { c1579_11[id] = new UserRecord({ id, username: "Wumpus", discriminator: "0", globalName: "Wumpus", avatar: "c1f86b313385cb97985f1b118851c28c" }); } }; handleConnectionOpenSupplemental = function handleConnectionOpenSupplemental({ guilds, lazyPrivateChannels }) { guilds.forEach((guild) => { guild.members.forEach((member) => { const id4 = member.user.id; const id3 = guild.id; const avatar = member.avatar; const r8 = c1579_11[id4]; if (r8 != null) { const r18 = avatar == null ? r8.removeGuildAvatarHash(id3) : r8.addGuildAvatarHash(id3, avatar); c1579_11[r8.id] = r18; if (r8 !== r18) { c1579_12 = c1579_12 + 1; } } const id5 = member.user.id; const user = member.user; const r24 = c1579_11[id5]; if (r24 != null && !_PrimaryGuildUtils.isUserPrimaryGuildEqual(r24.primaryGuild, user.primary_guild) && (r24.primaryGuild == null || user.primary_guild != null)) { r24.primaryGuild = ensureUserPrimaryGuild(user.primary_guild); c1579_11[r24.id] = r24; c1579_12 = c1579_12 + 1; } }); }); if (lazyPrivateChannels != null) { lazyPrivateChannels.forEach(({ rawRecipients }) => { if (rawRecipients != null) { rawRecipients.forEach((rawRecipient) => { mergeUser(rawRecipient); }); } }); } }; isIncompleteUser = function isIncompleteUser(a0) { return !("incomplete" in a0); }; handleInitialize = function handleInitialize(a0) { if (a0.users != null) { for (const user of a0.users) { if (!(user.id in c1579_11 && isIncompleteUser(user))) { c1579_11[user.id] = new UserRecord(user); } } } }; handleUserUpdate = function handleUserUpdate({ user }) { if (user.id !== AuthenticationStore.getId()) { mergeUser(user); return void 0; } return false; }; handleRestrictedScheduleUpdate = function handleRestrictedScheduleUpdate(a0) { return mergeUser({ id: a0.userId, restricted_schedule: a0.restrictedSchedule }); }; handleUserProfileFetchSuccess = function handleUserProfileFetchSuccess({ userProfile }) { if (userProfile.user.id !== AuthenticationStore.getId()) { mergeUser(userProfile.user); return void 0; } return false; }; handleCurrentUserUpdate = function handleCurrentUserUpdate(a0) { mergeUser(a0.user); }; updatePremiumType = function updatePremiumType({ user }) { mergeUser({ id: user.id, premiumType: user.premiumType }, true); }; handleLoadMessages = function handleLoadMessages(a0) { a0.messages.forEach((message) => { mergeUsersFromMessage(message, true); }); return false; }; handleConversationFetchSuccess = function handleConversationFetchSuccess(a0) { a0.messages.concat(a0.messageReferences).forEach((item) => { mergeUsersFromMessage(item, true); }); return false; }; handleConversationsFetchSuccess = function handleConversationsFetchSuccess(a0) { a0.rawConversations.forEach(({ messages }) => messages == null ? void 0 : messages.forEach((message) => { mergeUsersFromMessage(message, true); })); return false; }; handleLoadPinnedMessages = function handleLoadPinnedMessages(a0) { a0.pins.forEach((pin) => { mergeUsersFromMessage(pin.message, true); }); return false; }; handleThreadListSync = function handleThreadListSync({ mostRecentMessages }) { if (mostRecentMessages != null) { mostRecentMessages.forEach((mostRecentMessage) => { mergeUsersFromMessage(mostRecentMessage, false); }); } return false; }; handleLoadSearchResults = function handleLoadSearchResults(a0) { a0.data.forEach(({ messages, channels }) => { messages.forEach((message) => { message.forEach((item) => { mergeUsersFromMessage(item, true); }); }); channels.forEach((channel) => { if (!(channel.type !== ChannelTypes.DM && channel.type !== ChannelTypes.GROUP_DM)) { const recipients = channel.recipients; if (recipients != null) { recipients.forEach((recipient) => mergeUser(recipient)); } if (channel.recipient != null) { mergeUser(channel.recipient); } } }); }); return false; }; handleLoadThreadsSuccess = function handleLoadThreadsSuccess({ firstMessages, owners }) { if (firstMessages != null) { firstMessages.forEach((firstMessage) => { mergeUsersFromMessage(firstMessage, true); }); } if (owners != null) { owners.forEach((owner) => mergeUser(owner.user, true)); } }; handleLoadForumPosts = function handleLoadForumPosts(a0) { Object.values(a0.threads).forEach(({ first_message, most_recent_message, owner }) => { if (first_message != null) { mergeUsersFromMessage(first_message, true); } if (most_recent_message != null) { mergeUsersFromMessage(most_recent_message, true); } if (owner != null && owner.user != null) { mergeUser(owner.user, true); } }); }; handleLoadMessageRequestsSupplementalDataSuccess = function handleLoadMessageRequestsSupplementalDataSuccess(a0) { Object.values(a0.supplementalData).forEach(({ message_preview }) => { if (message_preview != null) { mergeUsersFromMessage(message_preview, true); } }); }; handleFetchUsersForGuildEventSuccess = function handleFetchUsersForGuildEventSuccess({ guildScheduledEventUsers, guildId }) { guildScheduledEventUsers.forEach(({ user, member }) => { if (user != null) { mergeUser(user); const avatar = member?.avatar; if (avatar != null) { const r15 = c1579_11[user.id]; if (r15 != null) { const r17 = avatar == null ? r15.removeGuildAvatarHash(guildId) : r15.addGuildAvatarHash(guildId, avatar); c1579_11[r15.id] = r17; if (r15 !== r17) { c1579_12 = c1579_12 + 1; } } } } }); }; handleLoadNotificationCenterItems = function handleLoadNotificationCenterItems(a0) { a0.items.forEach((item) => { if (item.other_user != null) { mergeUser(item.other_user); } }); }; handleNotificationCenterItemCreate = function handleNotificationCenterItemCreate({ item }) { if (item.other_user != null) { mergeUser(item.other_user); } }; handleIncomingMessage = function handleIncomingMessage({ message }) { mergeUsersFromMessage(message, true); if (message.flags != null && hasFlag(message.flags, MessageFlags.URGENT)) { const r25 = c1579_11[AuthenticationStore.getId()]; let r26 = r25 != null; if (r26) { c1579_11[AuthenticationStore.getId()] = r25.set("flags", setFlag(r25.flags, UserFlags.HAS_UNREAD_URGENT_MESSAGES, true)); r26 = true; } return r26; } return false; }; handleCreateChannel = function handleCreateChannel(a0) { const rawRecipients = a0.channel.rawRecipients; if (rawRecipients != null) { rawRecipients.forEach((rawRecipient) => mergeUser(rawRecipient)); } return false; }; handleUpdateChannels = function handleUpdateChannels(a0) { for (const channel of a0.channels) { const rawRecipients = channel.rawRecipients; if (rawRecipients != null) { rawRecipients.forEach((rawRecipient) => mergeUser(rawRecipient)); } } return false; }; handlePresenceUpdates = function handlePresenceUpdates(a0) { return a0.updates.map((update) => { const r8 = c1579_11[update.user.id]; let c24694_1 = r8; if (r8 == null) { return false; } const r12 = _excluded.reduce((acc, item) => { const hasOwnProperty = update.user.hasOwnProperty(item); let r11 = acc; if (hasOwnProperty) { const r20 = c24694_1.set(camelCase(item), update.user[item]); const r21 = acc ? acc : r20 !== c24694_1; c24694_1 = r20; r11 = r21; } return r11; }, false); let r14 = !!r12; if (r14) { c1579_11[c24694_1.id] = c24694_1; r14 = r12; } return r14; }).some((item) => item); }; handleLoadedBans = function handleLoadedBans(a0) { a0.bans.forEach((ban) => mergeUser(ban.user)); }; handleLoadedBansBatch = function handleLoadedBansBatch(a0) { a0.bans.forEach((ban) => mergeUser(ban.user)); }; handleBan = function handleBan(a0) { return mergeUser(a0.user); }; handleRecipient = function handleRecipient(a0) { return !!a0.isMember && mergeUser(a0.user); }; handleGuildMembers = function handleGuildMembers(a0) { const r4 = mergeUser(a0.user); const id3 = a0.user.id; const { guildId: guildId2, avatar } = a0; const r14 = c1579_11[id3]; const r3 = r14 == null; let r15 = false; if (!r3) { const r17 = avatar == null ? r14.removeGuildAvatarHash(guildId2) : r14.addGuildAvatarHash(guildId2, avatar); c1579_11[r14.id] = r17; const r20 = r14 !== r17; r15 = r20; if (r20) { c1579_12 = c1579_12 + 1; r15 = r20; } } if (!r15) { r15 = r4; } return r15; }; handleGuildMemberListUpdate = function handleGuildMemberListUpdate(a0) { for (const op of a0.ops) { if (op.op !== "INSERT" && op.op !== "UPDATE") { continue; } const user = op.item.member?.user; if (user != null) { mergeUserPrimaryGuild(user.id, user); } } return false; }; handleGuildMembersChunkBatch = function handleGuildMembersChunkBatch({ chunks }) { let c13273_0 = false; const _loop = function _loop(a0) { c13273_0 = a0.members.reduce((acc, member) => { const r11 = mergeUser(member.user); const id3 = member.user.id; const guildId2 = a0.guildId; const avatar = member.avatar; const r16 = c1579_11[id3]; const r3 = r16 == null; let r17 = false; if (!r3) { const r19 = avatar == null ? r16.removeGuildAvatarHash(guildId2) : r16.addGuildAvatarHash(guildId2, avatar); c1579_11[r16.id] = r19; const r22 = r16 !== r19; r17 = r22; if (r22) { c1579_12 = c1579_12 + 1; r17 = r22; } } if (!r17) { r17 = r11; } if (!r17) { r17 = acc; } return r17; }, false) || c13273_0; }; for (const item of chunks) { _loop(item); } return c13273_0; }; handlePassiveUpdateV2 = function handlePassiveUpdateV2(a0) { let r0 = false; for (const member of a0.members) { if (mergeUser(member.user)) { r0 = true; } if (mergeGuildAvatar(member.user.id, a0.guildId, member.avatar)) { r0 = true; } } return r0; }; handleLocalMessagesLoaded = function handleLocalMessagesLoaded(a0) { let r0 = false; let users = a0.users; if (users == null) { users = []; } for (const item of users) { if (!Object.hasOwn(c1579_11, item.id)) { r0 = mergeUser(item) || r0; } } return r0; }; handleThreadMemberListUpdate = function handleThreadMemberListUpdate({ members }) { let c13274_0 = false; members.forEach((member) => { if (member.member != null && mergeUser(member.member.user)) { c13274_0 = true; } if (member.presence != null && mergeUser(member.presence.user)) { c13274_0 = true; } }); return c13274_0; }; handleThreadMembersUpdate = function handleThreadMembersUpdate({ addedMembers }) { let c13275_0 = false; if (addedMembers != null) { addedMembers.forEach((addedMember) => { if (addedMember.member != null && mergeUser(addedMember.member.user)) { c13275_0 = true; } if (addedMember.presence != null && mergeUser(addedMember.presence.user)) { c13275_0 = true; } }); } return c13275_0; }; handleGuildCreate = function handleGuildCreate({ guild }) { guild.members.forEach((member) => { const user = member.user; const { id: id3, username, avatar: avatar2, discriminator, bot } = user; const avatar = member.avatar; if (id3 !== AuthenticationStore.getId()) { mergeUser({ id: id3, username, avatar: avatar2, discriminator, bot }); } const id4 = guild.id; const r21 = c1579_11[id3]; if (r21 != null) { const r24 = avatar == null ? r21.removeGuildAvatarHash(id4) : r21.addGuildAvatarHash(id4, avatar); c1579_11[r21.id] = r24; if (r21 !== r24) { c1579_12 = c1579_12 + 1; } } }); }; handleRelationshipAdd = function handleRelationshipAdd(a0) { return mergeUser(a0.relationship.user); }; handleGameRelationshipAdd = function handleGameRelationshipAdd(a0) { return mergeUser(a0.gameRelationship.user); }; handleLoadRelationships = function handleLoadRelationships(a0) { return a0.relationships.reduce((acc, relationship) => mergeUser(relationship.user) || acc, false); }; handleFriendSuggestionCreate = function handleFriendSuggestionCreate(a0) { return mergeUser(a0.suggestion.suggested_user); }; handleLoadFriendSuggestions = function handleLoadFriendSuggestions(a0) { return a0.suggestions.reduce((acc, suggestion) => mergeUser(suggestion.suggested_user) || acc, false); }; handleAuditLogFetched = function handleAuditLogFetched(a0) { a0.users.forEach((user) => { if (c1579_11[user.id] == null) { c1579_11[user.id] = new UserRecord(user); } }); }; handleGiftCodeResolve = function handleGiftCodeResolve({ giftCode }) { return giftCode.user != null && mergeUser(giftCode.user); }; handleGuildPremiumSubscriptionsFetchSuccess = function handleGuildPremiumSubscriptionsFetchSuccess(a0) { a0.appliedBoosts.forEach(({ user }) => { if (user != null) { mergeUser(user); } }); }; handleGuildJoinRequest = function handleGuildJoinRequest({ request }) { const { user, actioned_by_user } = request; const r0 = user != null ? mergeUser(user) : false; return actioned_by_user != null ? r0 ? r0 : mergeUser(actioned_by_user) : r0; }; handleInitialFamilyCenterLoad = function handleInitialFamilyCenterLoad(a0) { return [...a0.users, ...a0.familyCenterTeenActivity.users].reduce((acc, item) => mergeUser(item) || acc, false); }; handleLinkedUserFetch = function handleLinkedUserFetch(a0) { return a0.users.reduce((acc, user) => mergeUser(user) || acc, false); }; handleRequestLinkSuccess = function handleRequestLinkSuccess(a0) { return a0.users.reduce((acc, user) => mergeUser(user) || acc, false); }; handleTeenActivityFetch = function handleTeenActivityFetch({ familyCenterTeenActivity }) { if (familyCenterTeenActivity !== void 0) { return familyCenterTeenActivity.users.reduce((acc, user) => mergeUser(user) || acc, false); } }; handleTeenActivityMoreFetch = function handleTeenActivityMoreFetch(a0) { return a0.familyCenterTeenActivity.users.reduce((acc, user) => mergeUser(user) || acc, false); }; handleMemberSafetyGuildMemberSearchSuccess = function handleMemberSafetyGuildMemberSearchSuccess({ members }) { const id2 = AuthenticationStore.getId(); return members.reduce((acc, member) => member.member.user.id !== id2 ? mergeUser(member.member.user) || acc : acc, false); }; handleLoadICYMIHydratedItems = function handleLoadICYMIHydratedItems(a0) { a0.messageItems.forEach((messageItem) => { if (messageItem.message != null) { mergeUsersFromMessage(messageItem.message, true); } }, false); }; handleEmbeddedActivityUpdateV2 = function handleEmbeddedActivityUpdateV2(a0) { return a0.instance.participants.reduce((acc, participant) => isActivityParticipantValidGuildMember(participant) && mergeUser(participant.member.user) || acc, false); }; handleInitiateAgeVerification = function handleInitiateAgeVerification(a0) { if (a0 == null) { HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'."); throw new Error("unreachable"); } const r7 = c1579_11[AuthenticationStore.getId()]; let r12 = r7 != null; if (r12) { c1579_11[AuthenticationStore.getId()] = r7.set("ageVerificationStatus", AgeVerificationStatusUkAndAusOnly.CLIENT_ONLY_PENDING); r12 = true; } return r12; }; handleCloseAgeVerificationModal = function handleCloseAgeVerificationModal({ status }) { const r7 = c1579_11[AuthenticationStore.getId()]; let r12 = r7 != null; if (r12) { let r19 = r7.ageVerificationStatus === AgeVerificationStatusUkAndAusOnly.CLIENT_ONLY_PENDING; if (r19) { c1579_11[AuthenticationStore.getId()] = r7.set("ageVerificationStatus", status); r19 = true; } r12 = r19; } return r12; }; handleInteractionModalCreate = function handleInteractionModalCreate({ resolved }) { const r16 = resolved?.users == null; let r17 = false; if (!r16) { const users = resolved.users; r17 = void 0; for (const key in users) { r17 = void 0; const r20 = resolved.users[key]; if (r20.id !== AuthenticationStore.getId()) { mergeUser(r20, true); } } r17 = void 0; } return r17; }; handleGuildStickersFetchSuccess = function handleGuildStickersFetchSuccess(a0) { return a0.stickers.reduce((acc, sticker) => sticker.user != null && mergeUser(sticker.user) || acc, false); }; c1579_11 = {}; c1579_12 = 0; id = "47835198259242069"; _excluded = ["username", "avatar", "global_name", "discriminator", "bot", "primary_guild"]; class UserStore extends MobileCacheSnapshotStore { static displayName = "UserStore"; static LATEST_SNAPSHOT_VERSION = 1; constructor() { const r13 = { CONNECTION_OPEN: handleConnectionOpen, CONNECTION_OPEN_SUPPLEMENTAL: handleConnectionOpenSupplemental, UPDATE_CLIENT_PREMIUM_TYPE: updatePremiumType, OVERLAY_INITIALIZE: handleInitialize, CACHE_LOADED: (a0) => this.handleLoadCache(a0), USER_UPDATE: handleUserUpdate, USER_RESTRICTED_SCHEDULE_UPDATE: handleRestrictedScheduleUpdate, USER_PROFILE_FETCH_SUCCESS: handleUserProfileFetchSuccess, CURRENT_USER_UPDATE: handleCurrentUserUpdate, PRESENCE_UPDATES: handlePresenceUpdates, SEARCH_MESSAGES_SUCCESS: handleLoadSearchResults, MOD_VIEW_SEARCH_MESSAGES_SUCCESS: handleLoadSearchResults, LOAD_MESSAGES_SUCCESS: handleLoadMessages, LOAD_MESSAGES_AROUND_SUCCESS: handleLoadMessages, LOAD_RECENT_MENTIONS_SUCCESS: handleLoadMessages, CONVERSATION_FETCH_SUCCESS: handleConversationFetchSuccess, CONVERSATIONS_FETCH_SUCCESS: handleConversationsFetchSuccess, LOAD_PINNED_MESSAGES_SUCCESS: handleLoadPinnedMessages, THREAD_LIST_SYNC: handleThreadListSync, MESSAGE_CREATE: handleIncomingMessage, MESSAGE_UPDATE: handleIncomingMessage, GUILD_SETTINGS_LOADED_BANS: handleLoadedBans, GUILD_SETTINGS_LOADED_BANS_BATCH: handleLoadedBansBatch, GUILD_CREATE: handleGuildCreate, GUILD_BAN_ADD: handleBan, GUILD_BAN_REMOVE: handleBan, CHANNEL_RECIPIENT_ADD: handleRecipient, CHANNEL_RECIPIENT_REMOVE: handleRecipient, GUILD_STICKERS_FETCH_SUCCESS: handleGuildStickersFetchSuccess, GUILD_JOIN_REQUEST_CREATE: handleGuildJoinRequest, GUILD_JOIN_REQUEST_UPDATE: handleGuildJoinRequest, GUILD_MEMBER_ADD: handleGuildMembers, GUILD_MEMBER_UPDATE: handleGuildMembers, GUILD_MEMBERS_CHUNK_BATCH: handleGuildMembersChunkBatch, GUILD_MEMBER_LIST_UPDATE: handleGuildMemberListUpdate, THREAD_MEMBER_LIST_UPDATE: handleThreadMemberListUpdate, THREAD_MEMBERS_UPDATE: handleThreadMembersUpdate, CHANNEL_CREATE: handleCreateChannel, CHANNEL_UPDATES: handleUpdateChannels, RELATIONSHIP_ADD: handleRelationshipAdd, GAME_RELATIONSHIP_ADD: handleGameRelationshipAdd, LOAD_RELATIONSHIPS_SUCCESS: handleLoadRelationships, FRIEND_SUGGESTION_CREATE: handleFriendSuggestionCreate, LOAD_FRIEND_SUGGESTIONS_SUCCESS: handleLoadFriendSuggestions, AUDIT_LOG_FETCH_SUCCESS: handleAuditLogFetched, AUDIT_LOG_FETCH_NEXT_PAGE_SUCCESS: handleAuditLogFetched, GIFT_CODE_RESOLVE_SUCCESS: handleGiftCodeResolve, GUILD_APPLIED_BOOSTS_FETCH_SUCCESS: handleGuildPremiumSubscriptionsFetchSuccess, LOAD_THREADS_SUCCESS: handleLoadThreadsSuccess, LOAD_ARCHIVED_THREADS_SUCCESS: handleLoadThreadsSuccess, LOAD_FORUM_POSTS: handleLoadForumPosts, GUILD_SCHEDULED_EVENT_USERS_FETCH_SUCCESS: handleFetchUsersForGuildEventSuccess, LOAD_NOTIFICATION_CENTER_ITEMS_SUCCESS: handleLoadNotificationCenterItems, NOTIFICATION_CENTER_ITEM_CREATE: handleNotificationCenterItemCreate, LOAD_MESSAGE_REQUESTS_SUPPLEMENTAL_DATA_SUCCESS: handleLoadMessageRequestsSupplementalDataSuccess, PASSIVE_UPDATE_V2: handlePassiveUpdateV2, LOCAL_MESSAGES_LOADED: handleLocalMessagesLoaded, FAMILY_CENTER_INITIAL_LOAD: handleInitialFamilyCenterLoad, FAMILY_CENTER_LINKED_USERS_FETCH_SUCCESS: handleLinkedUserFetch, FAMILY_CENTER_TEEN_ACTIVITY_FETCH_SUCCESS: handleTeenActivityFetch, FAMILY_CENTER_TEEN_ACTIVITY_MORE_FETCH_SUCCESS: handleTeenActivityMoreFetch, FAMILY_CENTER_REQUEST_LINK_SUCCESS: handleRequestLinkSuccess, MEMBER_SAFETY_GUILD_MEMBER_SEARCH_SUCCESS: handleMemberSafetyGuildMemberSearchSuccess, LOAD_ICYMI_HYDRATED: handleLoadICYMIHydratedItems, EMBEDDED_ACTIVITY_UPDATE_V2: handleEmbeddedActivityUpdateV2, INITIATE_AGE_VERIFICATION: handleInitiateAgeVerification, CLOSE_AGE_VERIFICATION_MODAL: handleCloseAgeVerificationModal, INTERACTION_MODAL_CREATE: handleInteractionModalCreate }; super(r13); } initialize() { this.waitFor(AuthenticationStore, OverridePremiumTypeStore); } takeSnapshot() { return { version: UserStore.LATEST_SNAPSHOT_VERSION, data: { users: [this.getCurrentUser()].filter(isNotNullish) } }; } handleLoadCache(a0) { const r29 = this.readSnapshot(UserStore.LATEST_SNAPSHOT_VERSION); if (r29 != null) { for (const user of r29.users) { c1579_11[user.id] = new UserRecord(user); } } if (a0.users != null) { for (const user2 of a0.users) { if (!(user2.id in c1579_11 && isIncompleteUser(user2))) { c1579_11[user2.id] = new UserRecord(user2); } } } for (const item of [a0.privateChannels, a0.initialGuildChannels]) { for (const item2 of item) { const rawRecipients = item2.rawRecipients; if (rawRecipients != null) { rawRecipients.forEach((rawRecipient) => mergeUser(rawRecipient, false)); } } } } getUserStoreVersion() { return c1579_12; } getUser(a0) { if (a0 != null) { return c1579_11[a0]; } } getUsers() { return c1579_11; } forEach(a0) { let r5; const r7 = $forInKeys(c1579_11); let r0 = 0; const length = r7.length; if (r7 !== void 0) { do { r5 = r0 < length ? r7[r0++] : void 0; if (r5 === void 0) { break; } } while (a0(c1579_11[r5]) !== false); } } findByTag(a0, a1) { for (const key in c1579_11) { const r11 = c1579_11[key]; if (a1 != null && r11.username === a0 && r11.discriminator === a1) { return r11; } if (a1 == null && r11.username === a0 && r11.hasUniqueUsername()) { return r11; } } } filter(a0, r5 = false) { const r4 = []; for (const key in c1579_11) { const r13 = c1579_11[key]; if (a0(r13)) { r4.push(r13); } } if (r5) { r4.sort((a, b) => a.username > b.username ? 1 : a.username < b.username ? -1 : 0); } return r4; } getCurrentUser() { return c1579_11[AuthenticationStore.getId()]; } } const userStore = new UserStore(); export default userStore; export { c1579_11 as users }; export const ASSISTANT_WUMPUS_VOICE_USER = "47835198259242069"; export { transformUser }; export { mergeUser };