// Module ID: 5083 // Function ID: 5084 // Name: recomputeGuild // Dependencies: [1415, 1942, 1935, 1862, 1874, 676, 3871, 1384, 709, 11, 589, 2] // Module 5083 (recomputeGuild) import { isGuildOwner } from "GuildNSFWContentLevel"; import trackCommunicationDisabled from "trackCommunicationDisabled"; import createGuildRoleRecordFromRust from "createGuildRoleRecordFromRust"; import createGuildRecordFromRust from "createGuildRecordFromRust"; import mergeGuildAvatar from "mergeGuildAvatar"; import ME from "ME"; import { GuildMemberFlags } from "GuildMemberFlags"; import { Store } from "initialize"; import set from "createGuildRoleRecordFromRust"; let c10; let c9; let metroImportAll; function recomputeGuild(guildId) { const _require = guildId; clearGuild(guildId); set.add(guildId); guild = guild.getGuild(guildId); const currentUser = authStore.getCurrentUser(); let tmp4 = null != guild; if (tmp4) { tmp4 = guild.verificationLevel !== constants.NONE; } if (null != guild) { if (null != currentUser) { if (tmp4) { if (!isGuildOwner(guild, currentUser)) { member = member.getMember(guild.id, currentUser.id); if (null == member) { let tmp13 = tmp6; if (tmp6) { tmp13 = null != member; } let flag = false; if (tmp13) { const roles = member.roles; tmp13 = !roles.includes(guild.verificationRoleId); flag = tmp13; } let role; if (tmp13) { role = store.getRole(guild.id, guild.verificationRoleId); } let num3 = 0; let num4 = 0; let flag2 = false; let flag3 = false; let flag4 = false; let flag5 = false; let flag6 = false; if (tmp4) { num3 = 0; num4 = 0; flag2 = false; flag3 = false; flag4 = false; flag5 = false; flag6 = false; if (!currentUser.isPhoneVerified()) { let flag7 = false; if (null != member) { const _Set = Set; set = new Set(); const roles2 = member.roles; for (const item10071 of roles2) { let tmp23 = store; let tmp22 = item10071; let role1 = store.getRole(guild.id, item10071); let managed = null == role1; if (!managed) { let tmp26 = role1; managed = tmp25.managed; } if (!managed) { let tmp27 = item10071; let addResult1 = set.add(tmp22); } continue; } const _Date = Date; const date = new Date("2022-12-02 00:00:00"); let tmp32 = null == member.joinedAt; if (!tmp32) { const _Date2 = Date; const date1 = new Date(member.joinedAt); tmp32 = date1 < date; } const features = guild.features; let tmp40 = !tmp6; if (!tmp6) { tmp40 = !tmp39; } if (tmp40) { tmp40 = set.size > 0; } flag7 = false; if (tmp40) { flag7 = true; } tmp39 = features.has(constants3.GUILD_ONBOARDING_EVER_ENABLED) && !tmp32; } num3 = 0; num4 = 0; flag2 = false; flag3 = false; flag4 = false; flag5 = false; flag6 = false; if (!flag7) { const _Date3 = Date; const result = 60000 * constants2.ACCOUNT_AGE; const diff = +currentUser.createdAt + result - Date.now(); const _Date4 = Date; const result1 = 60000 * constants2.MEMBER_AGE; const diff1 = +guild.joinedAt + result1 - Date.now(); let flag8 = false; let flag9 = false; let flag10 = false; let flag11 = false; if (!currentUser.isStaff()) { let tmp53 = guild.verificationLevel >= tmp49.MEDIUM; if (tmp53) { tmp53 = diff > 0; } flag8 = guild.verificationLevel >= tmp49.HIGH && diff1 > 0; flag9 = tmp53; flag10 = guild.verificationLevel >= tmp49.VERY_HIGH; flag11 = guild.verificationLevel >= tmp49.LOW && !currentUser.verified; const tmp51 = guild.verificationLevel >= tmp49.LOW && !currentUser.verified; const tmp52 = guild.verificationLevel >= tmp49.VERY_HIGH; const tmp54 = guild.verificationLevel >= tmp49.HIGH && diff1 > 0; } flag2 = flag8; flag3 = flag9; flag4 = flag10; flag5 = flag11; num3 = diff1; num4 = diff; flag6 = guild.verificationLevel >= constants.LOW && !currentUser.isClaimed(); const tmp41 = +currentUser.createdAt; const tmp46 = +guild.joinedAt; const tmp50 = guild.verificationLevel >= constants.LOW && !currentUser.isClaimed(); } } } const items = []; if (flag2) { items.push(num3); } if (flag3) { items.push(num4); } let timerId; if (items.length > 0) { const _setTimeout = setTimeout; const _Math = Math; const items1 = []; HermesBuiltin.arraySpread(items, 0); const _Math2 = Math; timerId = setTimeout(() => { let obj = outer1_1(outer1_2[8]); obj = { type: "GUILD_VERIFICATION_CHECK", guildId: closure_0 }; return obj.dispatch(obj); }, HermesBuiltin.apply(items1, Math)); } let obj = { notClaimed: null, notEmailVerified: null, notPhoneVerified: null, newAccount: null, newMember: null, missingVerificationRole: null, verificationRole: null, canChat: null, accountDeadline: null, memberDeadline: null, timeoutRef: null }; obj[0] = flag6; obj[1] = flag5; obj[2] = flag4; obj[3] = flag3; obj[4] = flag2; obj[5] = flag; obj[6] = role; if (!flag6) { flag6 = flag5; } if (!flag6) { flag6 = flag4; } if (!flag6) { flag6 = flag3; } if (!flag6) { flag6 = flag2; } if (!flag6) { flag6 = flag; } obj[7] = !flag6; const _Date5 = Date; const _Date6 = Date; const date2 = new Date(Date.now() + num4); obj[8] = date2; const _Date7 = Date; const _Date8 = Date; const date3 = new Date(Date.now() + num3); obj[9] = date3; obj[10] = timerId; closure_14[guildId] = obj; const tmp64 = closure_14; } else { let num = member.flags; if (num == null) { num = 0; } const obj2 = _require(1384); } } } } } } function clearGuild(arg0) { if (null != dependencyMap[arg0]) { const _clearTimeout = clearTimeout; clearTimeout(tmp3.timeoutRef); } delete tmp[tmp2]; } function handleCreateOrUpdateGuild(guild) { set.delete(guild.guild.id); recomputeGuild(guild.guild.id); } ({ VerificationLevels: metroImportAll, VerificationCriteria: c9, GuildFeatures: c10 } = ME); let closure_12 = { notClaimed: false, notEmailVerified: false, notPhoneVerified: false, newAccount: false, newMember: false, missingVerificationRole: false, canChat: true }; let set = new Set(); let closure_14 = {}; class GuildVerificationStore extends Store { } const prototype = GuildVerificationStore.prototype; prototype["initialize"] = function initialize() { this.waitFor(trackCommunicationDisabled, createGuildRoleRecordFromRust, createGuildRecordFromRust, mergeGuildAvatar); }; prototype["getCheck"] = function getCheck(guild_id) { if (null == guild_id) { let tmp5 = closure_12; } else { if (!set.has(guild_id)) { recomputeGuild(guild_id); } tmp5 = dependencyMap[guild_id]; if (tmp5 == null) { tmp5 = closure_12; } } return tmp5; }; prototype["canChatInGuild"] = function canChatInGuild(guildId) { return this.getCheck(guildId).canChat; }; GuildVerificationStore.displayName = "GuildVerificationStore"; const guildVerificationStore = new GuildVerificationStore(require("dispatcher"), { CONNECTION_OPEN: function handleConnectionOpen() { set.clear(); for (const key10008 in closure_14) { let tmp5 = key10008; let tmp6 = dependencyMap; let tmp7 = dependencyMap[key10008]; if (null != tmp7) { let _clearTimeout = clearTimeout; let clearTimeoutResult = clearTimeout(tmp7.timeoutRef); } delete tmp[tmp2]; continue; } }, CONNECTION_CLOSED: function handleConnectionClosed() { const keys = importDefault(11).keys(closure_14); const item = keys.forEach(clearGuild); }, CURRENT_USER_UPDATE: function handleCurrentUserUpdate() { set.clear(); }, GUILD_CREATE: handleCreateOrUpdateGuild, GUILD_UPDATE: handleCreateOrUpdateGuild, GUILD_DELETE: function handleDeleteGuild(arg0) { if (null != dependencyMap[arg0.guild.id]) { const _clearTimeout = clearTimeout; clearTimeout(tmp3.timeoutRef); } delete tmp[tmp2]; }, GUILD_MEMBER_UPDATE: function handleGuildMemberUpdate(guildId) { guildId = guildId.guildId; const currentUser = authStore.getCurrentUser(); let id; if (currentUser != null) { id = currentUser.id; } if (guildId.user.id !== id) { return false; } else { set.delete(guildId); recomputeGuild(guildId); } }, GUILD_VERIFICATION_CHECK: function handleGuildVerificationCheck(guildId) { recomputeGuild(guildId.guildId); } }); let result = set.fileFinishedImporting("stores/GuildVerificationStore.tsx"); export default guildVerificationStore;