decord/alpha/source/stores/GuildVerificationStore.tsx

310 lines
11 KiB
TypeScript
Raw Permalink Normal View History

2026-10-10 08:08:14 +00:00
// Module ID: 5891
// Function ID: 5892
// Name: GuildVerificationStore
2026-10-10 08:08:14 +00:00
// Dependencies: [2083, 2125, 2119, 2087, 1390, 1085, 4736, 1403, 584, 11, 504, 2]
2026-07-20 16:05:17 +00:00
2026-10-10 08:08:14 +00:00
// Module 5891 (GuildVerificationStore)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
2026-10-10 08:08:14 +00:00
import GuildRecord from "GuildRecord" /* 2083 */;
import GuildMemberConstants from "GuildMemberConstants" /* 4736 */;
import GuildMemberStore from "GuildMemberStore" /* 2125 */;
import GuildRoleStore from "GuildRoleStore" /* 2119 */;
import GuildStore from "GuildStore" /* 2087 */;
2026-10-09 10:00:15 +00:00
import UserStore from "UserStore" /* 1390 */;
2026-10-03 08:58:59 +00:00
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
2026-10-03 08:58:59 +00:00
let _require;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let c10;
let c9;
let metroImportAll;
2026-07-20 16:05:17 +00:00
function recomputeGuild(guildId) {
2026-10-03 08:58:59 +00:00
let date2;
let date3;
_require = guildId;
2026-07-20 16:05:17 +00:00
clearGuild(guildId);
set.add(guildId);
const guild = GuildStore.getGuild(guildId);
const currentUser = UserStore.getCurrentUser();
2026-07-20 16:05:17 +00:00
if (null != guild) {
if (null != currentUser) {
2026-10-03 08:58:59 +00:00
if (null != guild && guild.verificationLevel !== constants.NONE) {
2026-07-20 16:05:17 +00:00
if (!isGuildOwner(guild, currentUser)) {
const member = GuildMemberStore.getMember(guild.id, currentUser.id);
2026-07-20 16:05:17 +00:00
if (null == member) {
2026-10-03 08:58:59 +00:00
let tmp14 = tmp6 && null != member;
2026-07-20 16:05:17 +00:00
let flag = false;
2026-10-03 08:58:59 +00:00
if (tmp14) {
2026-07-20 16:05:17 +00:00
const roles = member.roles;
2026-10-03 08:58:59 +00:00
tmp14 = !roles.includes(guild.verificationRoleId);
flag = tmp14;
2026-07-20 16:05:17 +00:00
}
let role;
2026-10-03 08:58:59 +00:00
if (tmp14) {
role = GuildRoleStore.getRole(guild.id, guild.verificationRoleId);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let num3 = 0;
let num4 = 0;
2026-07-20 16:05:17 +00:00
let flag2 = false;
let flag3 = false;
let flag4 = false;
let flag5 = false;
let flag6 = false;
2026-10-03 08:58:59 +00:00
if (null != guild && guild.verificationLevel !== constants.NONE) {
2026-07-29 08:29:29 +00:00
num3 = 0;
num4 = 0;
2026-07-20 16:05:17 +00:00
flag2 = false;
flag3 = false;
flag4 = false;
flag5 = false;
flag6 = false;
if (!currentUser.isPhoneVerified()) {
let flag7 = false;
if (null != member) {
const _Set = Set;
2026-10-03 08:58:59 +00:00
const self = this;
const self2 = this;
2026-07-23 10:11:24 +00:00
set = new Set();
2026-07-29 08:29:29 +00:00
const roles2 = member.roles;
for (const item10071 of roles2) {
2026-10-03 08:58:59 +00:00
let tmp21 = item10071;
let role1 = GuildRoleStore.getRole(guild.id, item10071);
2026-07-29 08:29:29 +00:00
let managed = null == role1;
if (!managed) {
2026-10-03 08:58:59 +00:00
managed = tmp24.managed;
2026-07-29 08:29:29 +00:00
}
if (!managed) {
2026-10-03 08:58:59 +00:00
let addResult1 = set.add(tmp21);
2026-07-29 08:29:29 +00:00
}
continue;
2026-07-20 16:05:17 +00:00
}
const _Date = Date;
2026-10-03 08:58:59 +00:00
const self3 = this;
let self4 = this;
let tmp29 = null == member.joinedAt;
2026-07-20 16:05:17 +00:00
const date = new Date("2022-12-02 00:00:00");
2026-10-03 08:58:59 +00:00
if (!tmp29) {
2026-07-20 16:05:17 +00:00
const _Date2 = Date;
2026-10-03 08:58:59 +00:00
const self5 = this;
self4 = this;
tmp29 = new Date(member.joinedAt) < date;
2026-07-20 16:05:17 +00:00
const date1 = new Date(member.joinedAt);
}
const features = guild.features;
flag7 = false;
2026-10-03 08:58:59 +00:00
const tmp35 = !(null != guild && null != guild.verificationRoleId) && !(features.has(constants3.GUILD_ONBOARDING_EVER_ENABLED) && !tmp29) && set.size > 0;
if (tmp35) {
2026-07-20 16:05:17 +00:00
flag7 = true;
}
}
2026-07-29 08:29:29 +00:00
num3 = 0;
num4 = 0;
2026-07-20 16:05:17 +00:00
flag2 = false;
flag3 = false;
flag4 = false;
flag5 = false;
flag6 = false;
if (!flag7) {
const _Date3 = Date;
const result = 60000 * constants2.ACCOUNT_AGE;
2026-10-03 08:58:59 +00:00
const tmp36 = +currentUser.createdAt;
const diff = tmp36 + result - Date.now();
2026-07-20 16:05:17 +00:00
const _Date4 = Date;
const result1 = 60000 * constants2.MEMBER_AGE;
2026-10-03 08:58:59 +00:00
const tmp41 = +guild.joinedAt;
const diff1 = tmp41 + result1 - Date.now();
2026-07-20 16:05:17 +00:00
let flag8 = false;
let flag9 = false;
let flag10 = false;
let flag11 = false;
2026-10-03 08:58:59 +00:00
const tmp45 = guild.verificationLevel >= constants.LOW && !currentUser.isClaimed();
2026-07-20 16:05:17 +00:00
if (!currentUser.isStaff()) {
2026-10-03 08:58:59 +00:00
let tmp48 = guild.verificationLevel >= tmp44.MEDIUM;
const tmp46 = guild.verificationLevel >= constants.LOW && !currentUser.verified;
const tmp47 = guild.verificationLevel >= constants.VERY_HIGH;
if (tmp48) {
tmp48 = diff > 0;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
flag8 = guild.verificationLevel >= constants.HIGH && diff1 > 0;
flag9 = tmp48;
flag10 = tmp47;
flag11 = tmp46;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
flag2 = flag8;
flag3 = flag9;
flag4 = flag10;
flag5 = flag11;
num3 = diff1;
2026-07-20 16:05:17 +00:00
num4 = diff;
2026-10-03 08:58:59 +00:00
flag6 = tmp45;
2026-07-20 16:05:17 +00:00
}
}
}
const items = [];
2026-07-29 08:29:29 +00:00
if (flag2) {
items.push(num3);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (flag3) {
2026-07-20 16:05:17 +00:00
items.push(num4);
}
let timerId;
if (items.length > 0) {
const _setTimeout = setTimeout;
const _Math = Math;
const items1 = [];
2026-10-03 08:58:59 +00:00
HermesBuiltin.arraySpread(items1, items, 0);
2026-07-20 16:05:17 +00:00
const _Math2 = Math;
2026-10-03 08:58:59 +00:00
timerId = setTimeout(() => {
const obj = DispatcherDefault;
const obj2 = { type: "GUILD_VERIFICATION_CHECK", guildId };
return obj.dispatch(obj2);
}, HermesBuiltin.apply(max, items1, Math));
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
let obj = { notClaimed: flag6, notEmailVerified: flag5, notPhoneVerified: flag4, newAccount: flag3, newMember: flag2, missingVerificationRole: flag, verificationRole: role, canChat: !flag6, accountDeadline: date2, memberDeadline: date3, timeoutRef: timerId };
const tmp59 = closure_14;
2026-07-29 08:29:29 +00:00
if (!flag6) {
flag6 = flag5;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!flag6) {
flag6 = flag4;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!flag6) {
flag6 = flag3;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!flag6) {
flag6 = flag2;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!flag6) {
flag6 = flag;
2026-07-20 16:05:17 +00:00
}
const _Date5 = Date;
const _Date6 = Date;
2026-10-03 08:58:59 +00:00
const self6 = this;
const self7 = this;
2026-07-20 16:05:17 +00:00
const _Date7 = Date;
const _Date8 = Date;
2026-10-03 08:58:59 +00:00
const self8 = this;
const self9 = this;
date2 = new Date(Date.now() + num4);
tmp59[guildId] = obj;
date3 = new Date(Date.now() + num3);
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
let num = member.flags;
2026-10-03 08:58:59 +00:00
const hasFlag = require("FlagUtils").hasFlag;
require("FlagUtils");
2026-07-29 08:29:29 +00:00
if (num == null) {
num = 0;
2026-07-20 16:05:17 +00:00
}
}
}
}
}
}
}
2026-07-29 08:29:29 +00:00
function clearGuild(arg0) {
2026-10-03 08:58:59 +00:00
const tmp = arg0;
const tmp2 = closure_14;
if (null != closure_14[arg0]) {
2026-07-20 16:05:17 +00:00
const _clearTimeout = clearTimeout;
2026-10-03 08:58:59 +00:00
clearTimeout(closure_14[arg0].timeoutRef);
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
delete tmp2[tmp];
2026-07-20 16:05:17 +00:00
}
function handleCreateOrUpdateGuild(guild) {
set.delete(guild.guild.id);
recomputeGuild(guild.guild.id);
}
const isGuildOwner = GuildRecord.isGuildOwner;
2026-10-03 08:58:59 +00:00
({ VerificationLevels: metroImportAll, VerificationCriteria: c9, GuildFeatures: c10 } = Constants);
const GuildMemberFlags = GuildMemberConstants.GuildMemberFlags;
2026-07-29 08:29:29 +00:00
let closure_12 = { notClaimed: false, notEmailVerified: false, notPhoneVerified: false, newAccount: false, newMember: false, missingVerificationRole: false, canChat: true };
2026-07-23 10:11:24 +00:00
let set = new Set();
2026-10-10 08:08:14 +00:00
const syncedClientThemes = {};
2026-10-03 08:58:59 +00:00
const Store = get_initializedDefault.Store;
2026-07-29 08:29:29 +00:00
class GuildVerificationStore extends Store {
2026-10-03 08:58:59 +00:00
initialize() {
this.waitFor(GuildMemberStore, GuildRoleStore, GuildStore, UserStore);
}
getCheck(guildId) {
let tmp5;
if (null == guildId) {
2026-07-29 08:29:29 +00:00
tmp5 = closure_12;
2026-10-03 08:58:59 +00:00
} else {
if (!set.has(guildId)) {
recomputeGuild(guildId);
}
tmp5 = closure_14[guildId];
if (tmp5 == null) {
tmp5 = closure_12;
}
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
return tmp5;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
canChatInGuild(guild_id) {
return this.getCheck(guild_id).canChat;
}
}
const prototype = GuildVerificationStore.prototype;
2026-07-29 08:29:29 +00:00
GuildVerificationStore.displayName = "GuildVerificationStore";
2026-10-03 08:58:59 +00:00
let obj = {
2026-07-20 16:05:17 +00:00
CONNECTION_OPEN: function handleConnectionOpen() {
set.clear();
2026-07-29 08:29:29 +00:00
for (const key10008 in closure_14) {
2026-10-03 08:58:59 +00:00
let tmp5 = closure_14[key10008];
let tmp3 = key10008;
let tmp4 = closure_14;
if (null != tmp5) {
2026-07-29 08:29:29 +00:00
let _clearTimeout = clearTimeout;
2026-10-03 08:58:59 +00:00
let clearTimeoutResult = clearTimeout(tmp5.timeoutRef);
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
delete tmp4[tmp3];
2026-07-23 10:11:24 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
},
CONNECTION_CLOSED: function handleConnectionClosed() {
2026-10-03 08:58:59 +00:00
const obj = SnowflakeUtilsDefault;
const keys = obj.keys(closure_14);
2026-07-20 16:05:17 +00:00
const item = keys.forEach(clearGuild);
},
CURRENT_USER_UPDATE: function handleCurrentUserUpdate() {
set.clear();
},
GUILD_CREATE: handleCreateOrUpdateGuild,
GUILD_UPDATE: handleCreateOrUpdateGuild,
2026-10-03 08:58:59 +00:00
GUILD_DELETE: function handleDeleteGuild(guild) {
const id = guild.guild.id;
const tmp = closure_14;
if (null != closure_14[id]) {
2026-07-29 08:29:29 +00:00
const _clearTimeout = clearTimeout;
2026-10-03 08:58:59 +00:00
clearTimeout(closure_14[id].timeoutRef);
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
delete tmp[id];
2026-07-20 16:05:17 +00:00
},
GUILD_MEMBER_UPDATE: function handleGuildMemberUpdate(guildId) {
guildId = guildId.guildId;
2026-10-03 08:58:59 +00:00
const id = guildId.user.id;
const currentUser = UserStore.getCurrentUser();
2026-10-03 08:58:59 +00:00
let id1;
2026-07-29 08:29:29 +00:00
if (currentUser != null) {
2026-10-03 08:58:59 +00:00
id1 = currentUser.id;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if (id !== id1) {
2026-07-20 16:05:17 +00:00
return false;
} else {
set.delete(guildId);
recomputeGuild(guildId);
}
},
GUILD_VERIFICATION_CHECK: function handleGuildVerificationCheck(guildId) {
recomputeGuild(guildId.guildId);
}
2026-10-03 08:58:59 +00:00
};
const guildVerificationStore = new GuildVerificationStore(DispatcherDefault, obj);
let result = size.fileFinishedImporting("stores/GuildVerificationStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default guildVerificationStore;