This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

+417
View File
@@ -0,0 +1,417 @@
// Metro module 1882 (f1883).
import Record from "../lib/Record";
import { LOCAL_BOT_ID, NON_USER_BOT_DISCRIMINATOR, PREMIUM_TYPE_NONE, UserFlags } from "../Constants";
import { PremiumTypes, PurchasedFlags, SKU_ID_PURCHASED_FLAGS } from "../modules/premium/PremiumConstants";
import { ensureUserPrimaryGuild } from "../modules/guild_tag/PrimaryGuildUtils";
import { parseServerDisplayNameStyles } from "../modules/display_name_styles/DisplayNameStylesUtils";
import { parseServerPremiumState } from "../modules/premium/premium_state/PremiumStateUtils";
import { parseServerPerks } from "../modules/premium/perks_state/PerksStateUtils";
import { ensureRestrictedScheduleRecord } from "../modules/parent_tools/FamilyCenterModels";
import { parseStoreCountry } from "../modules/billing/utils/StoreCountryUtils";
import { deserialize, has, combine } from "../_bundle/HighLow";
import SnowflakeUtils from "../utils/SnowflakeUtils";
import AvatarUtils, { SUPPORTS_WEBP } from "../utils/AvatarUtils";
import * as _Module1384 from "../_bundle/Module1384";
import * as _PremiumTypeUtils from "../utils/PremiumTypeUtils";
import { PremiumSource, PremiumSubscriptionType, PremiumSubscriptionGroupRole } from "../_bundle/Module1892";
import { parseAvatarDecorationData } from "../modules/collectibles/avatar_decorations/AvatarDecorationUtils";
import { getNameplateData } from "../modules/collectibles/nameplates/utils";
class UserRecord extends Record {
hasFlag = () => false;
isStaff = () => false;
isStaffPersonal = () => false;
hasAnyStaffLevel = () => false;
constructor(a0) {
super();
let premium_type = a0.premium_type;
if (premium_type == null) {
premium_type = a0.premiumType;
}
this.id = a0.id;
let username = a0.username;
if (username == null) {
username = "";
}
this.username = username;
let discriminator = a0.discriminator;
if (discriminator == null) {
discriminator = NON_USER_BOT_DISCRIMINATOR;
}
this.discriminator = discriminator;
let avatar2 = a0.avatar;
if (avatar2 == null) {
avatar2 = null;
}
this.avatar = avatar2;
let avatar_decoration_data = a0.avatar_decoration_data;
if (avatar_decoration_data == null) {
avatar_decoration_data = a0.avatarDecorationData;
}
this.avatarDecoration = avatar_decoration_data;
let email = a0.email;
if (email == null) {
email = null;
}
this.email = email;
let verified = a0.verified;
if (verified == null) {
verified = false;
}
this.verified = verified;
let bot = a0.bot;
if (bot == null) {
bot = false;
}
this.bot = bot;
let system = a0.system;
if (system == null) {
system = false;
}
this.system = system;
let mfa_enabled = a0.mfa_enabled;
if (mfa_enabled == null) {
mfa_enabled = a0.mfaEnabled;
}
if (mfa_enabled == null) {
mfa_enabled = false;
}
this.mfaEnabled = mfa_enabled;
let mobile = a0.mobile;
if (mobile == null) {
mobile = false;
}
this.mobile = mobile;
let desktop = a0.desktop;
if (desktop == null) {
desktop = false;
}
this.desktop = desktop;
this.premiumType = premium_type !== PREMIUM_TYPE_NONE ? premium_type : null;
let flags = a0.flags;
if (flags == null) {
flags = 0;
}
this.flags = flags;
let public_flags = a0.public_flags;
if (public_flags == null) {
public_flags = a0.publicFlags;
}
if (public_flags == null) {
public_flags = 0;
}
this.publicFlags = public_flags;
let purchased_flags = a0.purchased_flags;
if (purchased_flags == null) {
purchased_flags = a0.purchasedFlags;
}
if (purchased_flags == null) {
purchased_flags = 0;
}
this.purchasedFlags = purchased_flags;
let premium_usage_flags = a0.premium_usage_flags;
if (premium_usage_flags == null) {
premium_usage_flags = a0.premiumUsageFlags;
}
if (premium_usage_flags == null) {
premium_usage_flags = 0;
}
this.premiumUsageFlags = premium_usage_flags;
let phone = a0.phone;
if (phone == null) {
phone = null;
}
this.phone = phone;
let nsfw_allowed = a0.nsfw_allowed;
if (nsfw_allowed == null) {
nsfw_allowed = a0.nsfwAllowed;
}
this.nsfwAllowed = nsfw_allowed;
let age_verification_status = a0.age_verification_status;
if (age_verification_status == null) {
age_verification_status = a0.ageVerificationStatus;
}
this.ageVerificationStatus = age_verification_status;
let guildMemberAvatars = a0.guildMemberAvatars;
if (guildMemberAvatars == null) {
guildMemberAvatars = {};
}
this.guildMemberAvatars = guildMemberAvatars;
let has_bounced_email = a0.has_bounced_email;
if (has_bounced_email == null) {
has_bounced_email = a0.hasBouncedEmail;
}
if (has_bounced_email == null) {
has_bounced_email = false;
}
this.hasBouncedEmail = has_bounced_email;
let personal_connection_id = a0.personal_connection_id;
if (personal_connection_id == null) {
personal_connection_id = a0.personalConnectionId;
}
if (personal_connection_id == null) {
personal_connection_id = null;
}
this.personalConnectionId = personal_connection_id;
let global_name = a0.global_name;
if (global_name == null) {
global_name = a0.globalName;
}
this.globalName = global_name;
this.banner = a0.banner;
let primary_guild = a0.primary_guild;
if (primary_guild == null) {
primary_guild = a0.primaryGuild;
}
if (primary_guild == null) {
primary_guild = null;
}
this.primaryGuild = ensureUserPrimaryGuild(primary_guild);
this.collectibles = a0.collectibles;
let displayNameStyles = a0.displayNameStyles;
if (displayNameStyles == null) {
displayNameStyles = parseServerDisplayNameStyles(a0.display_name_styles);
}
this.displayNameStyles = displayNameStyles;
let premiumState = a0.premiumState;
if (premiumState == null) {
premiumState = parseServerPremiumState(a0.premium_state);
}
this.premiumState = premiumState;
this.perks = a0.perks?.activePerksBitmask != null ? a0.perks : parseServerPerks(a0.perks);
let restricted_schedule = a0.restricted_schedule;
if (restricted_schedule == null) {
restricted_schedule = a0.restrictedSchedule;
}
this.restrictedSchedule = ensureRestrictedScheduleRecord(restricted_schedule);
let appTransactionIds = a0.appTransactionIds;
if (appTransactionIds == null) {
appTransactionIds = a0.app_transaction_ids;
}
if (appTransactionIds == null) {
appTransactionIds = null;
}
this.appTransactionIds = appTransactionIds;
let store_country = a0.store_country;
if (store_country == null) {
store_country = a0.storeCountry;
}
this.storeCountry = parseStoreCountry(store_country);
Object.defineProperties(this, {
hasFlag: {
writable: false,
configurable: false,
enumerable: false,
value: (a0) => {
if (a0 <= 1073741824) {
return ((this.flags | this.publicFlags) & a0) === a0;
}
const r10 = deserialize(this.flags);
const r18 = deserialize(this.publicFlags);
const r22 = deserialize(a0);
return has(combine(r10, r18), r22);
}
},
isStaff: {
writable: false,
configurable: false,
enumerable: false,
value: () => this.hasFlag(UserFlags.STAFF)
},
isStaffPersonal: {
writable: false,
configurable: false,
enumerable: false,
value: () => {
const hasFlag2 = this.hasFlag(UserFlags.STAFF);
return hasFlag2 ? !hasFlag2 : this.personalConnectionId != null;
}
},
hasAnyStaffLevel: {
writable: false,
configurable: false,
enumerable: false,
value: () => this.hasFlag(UserFlags.STAFF) || this.hasFlag(UserFlags.COLLABORATOR) || this.hasFlag(UserFlags.RESTRICTED_COLLABORATOR)
}
});
if (this.globalName?.length === 0) {
this.globalName = null;
}
}
get createdAt() {
return new Date(SnowflakeUtils.extractTimestamp(this.id));
}
hasVerifiedEmailOrPhone() {
return this.verified === true || this.phone != null;
}
getAvatarURL(a0, a1, canAnimate = false, canWebP = SUPPORTS_WEBP) {
const avatar2 = a0 != null ? this.guildMemberAvatars[a0] : void 0;
return avatar2 != null && a0 != null ? AvatarUtils.getGuildMemberAvatarURLSimple({
guildId: a0,
avatar: avatar2,
userId: this.id,
canAnimate,
size: a1,
canWebP
}) : AvatarUtils.getUserAvatarURL(this, canAnimate, a1, null, canWebP);
}
addGuildAvatarHash(a0, a1) {
if (this.guildMemberAvatars[a0] === a1) {
return this;
}
const guildMemberAvatars = {
...this.guildMemberAvatars
};
guildMemberAvatars[a0] = a1;
return this.merge({
guildMemberAvatars
});
}
removeGuildAvatarHash(a0) {
if (this.guildMemberAvatars[a0] === void 0) {
return this;
}
const guildMemberAvatars = {
...this.guildMemberAvatars
};
guildMemberAvatars[a0] = void 0;
return this.merge({
guildMemberAvatars
});
}
getAvatarSource(a0) {
let avatar;
const guildId = a0;
let r5 = arguments[1];
if (r5 === void 0) {
r5 = false;
}
const size = arguments[2];
avatar = void 0;
if (a0 != null) {
avatar = this.guildMemberAvatars[a0];
if (avatar != null) {
return AvatarUtils.getAnimatableSourceWithFallback(r5, (a0) => AvatarUtils.makeSource(AvatarUtils.getGuildMemberAvatarURLSimple({
guildId,
avatar,
userId: this.id,
canAnimate: a0,
size
})));
}
}
return AvatarUtils.getAnimatableSourceWithFallback(r5, (a0) => AvatarUtils.getUserAvatarSource(this, a0, size));
}
isClaimed() {
return this.email != null || this.phone != null;
}
isPhoneVerified() {
return this.phone != null;
}
toString() {
return this.username !== "" ? this.username : "???";
}
get tag() {
return `${this.username}#${`${this.discriminator}`.padStart(4, "0")}`;
}
hasPurchasedFlag(a0) {
return _Module1384.hasFlag(this.purchasedFlags, a0);
}
hasPremiumUsageFlag(a0) {
return _Module1384.hasFlag(this.premiumUsageFlags, a0);
}
hasHadSKU(a0) {
const r4 = SKU_ID_PURCHASED_FLAGS[a0];
return r4 != null && this.hasPurchasedFlag(r4);
}
hasHadPremium(r5 = null) {
const hasPurchasedFlag2 = this.hasPurchasedFlag(PurchasedFlags.PREMIUM_TIER_0);
const hasPurchasedFlag3 = this.hasPurchasedFlag(PurchasedFlags.PREMIUM_TIER_1);
const hasPurchasedFlag4 = this.hasPurchasedFlag(PurchasedFlags.PREMIUM_TIER_2);
if (PremiumTypes.TIER_0 === r5) {
return hasPurchasedFlag2;
}
if (PremiumTypes.TIER_1 === r5) {
return hasPurchasedFlag3;
}
if (PremiumTypes.TIER_2 === r5) {
return hasPurchasedFlag4;
}
return hasPurchasedFlag2 || hasPurchasedFlag3 || hasPurchasedFlag4;
}
hadPremiumSubscription(r5 = null) {
const isPremium = _PremiumTypeUtils.isPremium(this);
return isPremium ? !isPremium : this.hasHadPremium(r5);
}
hasFreePremium() {
return this.isStaff() || this.hasFlag(UserFlags.PARTNER) || this.isStaffPersonal();
}
isOnReverseTrial() {
return _PremiumTypeUtils.isPremium(this) && this.premiumState?.premiumSource === PremiumSource.REVERSE_TRIAL;
}
isPremiumWithPremiumGroup() {
return _PremiumTypeUtils.isPremium(this, PremiumTypes.TIER_2) && this.premiumState?.premiumSource === PremiumSource.SUBSCRIPTION_GROUP;
}
hasPaidTier2Subscription() {
return _PremiumTypeUtils.isPremium(this, PremiumTypes.TIER_2) && this.premiumState?.premiumSubscriptionType === PremiumSubscriptionType.TIER_2;
}
isPremiumWithFractionalPremiumOnly() {
return _PremiumTypeUtils.isPremium(this, PremiumTypes.TIER_2) && (this.premiumState?.premiumSubscriptionType === PremiumSubscriptionType.NONE_UNSPECIFIED || this.premiumState?.premiumSubscriptionType === PremiumSubscriptionType.BOOST_ONLY) && this.premiumState?.premiumSource === PremiumSource.FRACTIONAL_NITRO;
}
isFractionalPremiumWithNoStandardSub() {
return _PremiumTypeUtils.isPremium(this, PremiumTypes.TIER_2) && this.premiumState?.premiumSource === PremiumSource.FRACTIONAL_NITRO && this.premiumState.premiumSubscriptionType !== PremiumSubscriptionType.TIER_2;
}
isFractionalPremium() {
return _PremiumTypeUtils.isPremium(this, PremiumTypes.TIER_2) && this.premiumState?.premiumSource === PremiumSource.FRACTIONAL_NITRO;
}
hasUrgentMessages() {
return this.hasFlag(UserFlags.HAS_UNREAD_URGENT_MESSAGES);
}
isNonUserBot() {
return this.isSystemUser() || this.bot && this.discriminator === NON_USER_BOT_DISCRIMINATOR;
}
isLocalBot() {
return this.bot && this.id === LOCAL_BOT_ID;
}
isVerifiedBot() {
return this.isSystemUser() || this.isLocalBot() || this.hasFlag(UserFlags.VERIFIED_BOT);
}
isSystemUser() {
return this.system === true;
}
hasAvatarForGuild(a0) {
return a0 != null && this.guildMemberAvatars[a0] != null;
}
hasUniqueUsername() {
return this.discriminator === "0";
}
isPremiumGroupMember() {
return this.isPremiumWithPremiumGroup() && this.premiumGroupRole === PremiumSubscriptionGroupRole.MEMBER;
}
isPremiumGroupPrimary() {
return this.isPremiumWithPremiumGroup() && this.premiumGroupRole === PremiumSubscriptionGroupRole.PRIMARY;
}
get isProvisional() {
return this.hasFlag(UserFlags.PROVISIONAL_ACCOUNT);
}
get avatarDecoration() {
return this.avatarDecorationData;
}
set avatarDecoration(a0) {
this.avatarDecorationData = parseAvatarDecorationData(a0);
}
get nameplate() {
return getNameplateData(this.collectibles?.nameplate);
}
get premiumGroupRole() {
let r6 = this.premiumState?.premiumSubscriptionGroupRole;
if (r6 == null) {
r6 = PremiumSubscriptionGroupRole.UNSPECIFIED;
}
return r6;
}
}
const userRecord = new UserRecord({
id: "0"
});
export default UserRecord;
export { userRecord as PLACEHOLDER_USER_RECORD };