decord/source/modules/messages/MessageRecordUtils.tsx
2026-08-05 07:35:12 +00:00

516 lines
17 KiB
TypeScript

// Module ID: 4474
// Function ID: 4475
// Name: createMinimalMessageRecord
// Dependencies: [4475, 3893, 1882, 1218, 3892, 1874, 676, 4476, 4239, 4483, 11, 4488, 4489, 4586, 3837, 4587, 4589, 2]
// Exports: canEditMessageWithStickers, hasEphemeralAppearance, updateMessageRecord, updateServerMessage
// Module 4474 (createMinimalMessageRecord)
import createFromServer from "createFromServer";
import hasFlag from "hasFlag";
import closure_6 from "hasFlag";
import importDefaultResult from "createdAt";
import fetchFingerprint from "fetchFingerprint";
import upsertRelationship from "upsertRelationship";
import mergeGuildAvatar from "mergeGuildAvatar";
import ME from "ME";
let c4;
let c5;
let closure_12;
let map1;
let unpackModuleId;
const require = arg1;
function createMinimalMessageRecord(timestamp) {
const obj = {};
let tmp = closure_5;
const merged = Object.assign(timestamp);
obj.timestamp = new Date(timestamp.timestamp);
let date1 = null;
if (null != timestamp.edited_timestamp) {
const _Date = Date;
date1 = new Date(timestamp.edited_timestamp);
}
obj.editedTimestamp = date1;
let attachments = timestamp.attachments;
if (attachments == null) {
attachments = [];
}
obj.attachments = attachments;
const _require = timestamp;
if (null == timestamp.embeds) {
let items = [];
} else {
const embeds = timestamp.embeds;
const mapped = embeds.map((footer) => message2(outer1_2[15]).sanitizeEmbed(message2.channel_id, message2.id, footer));
items = _require(4587).mergeEmbedsOnURL(mapped);
const obj2 = _require(4587);
}
obj.embeds = items;
const date = new Date(timestamp.timestamp);
let components = timestamp.components;
if (components == null) {
components = [];
}
obj.components = _require(4476).transformComponents(components);
const NON_PARSED = constants3.NON_PARSED;
if (NON_PARSED.has(timestamp.type)) {
let items1 = [];
} else {
items1 = importDefault(4239)(timestamp.content);
}
obj.codedLinks = items1;
tmp = new tmp(obj);
return tmp;
}
function createMessageRecord(message, message) {
let interactionData;
let reactions;
let obj = message;
if (message === undefined) {
obj = {};
}
({ reactions, interactionData } = obj);
let obj1 = createMinimalMessageRecord(message);
const mentions = message.mentions;
let mapped;
if (mentions != null) {
mapped = mentions.map((id) => id.id);
}
if (mapped == null) {
mapped = [];
}
let mention_roles = message.mention_roles;
if (mention_roles == null) {
mention_roles = [];
}
let mention_channels = message.mention_channels;
if (mention_channels == null) {
mention_channels = [];
}
let mention_games = message.mention_games;
if (mention_games == null) {
mention_games = [];
}
if (null == message.author) {
let user = closure_14;
} else if (null != message.webhook_id) {
user = new closure_7(message.author);
} else {
user = user.getUser(message.author.id);
if (user == null) {
user = new closure_7(message.author);
}
}
let obj2 = require(4483) /* useNullableMessageAuthor */;
obj = { channel_id: message.channel_id, author: user };
const messageAuthor = obj2.getMessageAuthor(obj);
if (message != null) {
const gift_info = message.gift_info;
}
let fromServer = null;
if (null != message.interaction) {
fromServer = createFromServer.createFromServer(message.interaction);
}
if (message.type === constants2.THREAD_STARTER_MESSAGE) {
const referenced_message = message.referenced_message;
let id;
if (referenced_message != null) {
const author = referenced_message.author;
if (author != null) {
id = author.id;
}
}
}
let str = message.content;
let tmp17;
if (message.type === constants2.PREMIUM_REFERRAL) {
let content;
if (obj5.isProbablyAValidSnowflake(message.content)) {
content = message.content;
}
str = "";
tmp17 = content;
obj5 = importDefault(11);
}
let tmp20;
if (message.type === constants2.PREMIUM_GROUP_INVITE) {
let content1;
if (obj6.isProbablyAValidSnowflake(message.content)) {
content1 = message.content;
}
str = "";
tmp20 = content1;
obj6 = importDefault(11);
}
obj = {};
let tmp23 = closure_6;
const merged = Object.assign(message);
const merged1 = Object.assign(messageAuthor);
const merged2 = Object.assign(obj1.toJS());
obj.author = user;
obj.webhookId = message.webhook_id;
let isBlockedForMessageResult = blockedForMessage.isBlockedForMessage(message);
if (!isBlockedForMessageResult) {
isBlockedForMessageResult = null != tmp15 && obj8.isBlocked(tmp15);
const tmp28 = null != tmp15 && obj8.isBlocked(tmp15);
}
obj.blocked = isBlockedForMessageResult;
let isIgnoredForMessageResult = obj8.isIgnoredForMessage(message);
if (!isIgnoredForMessageResult) {
isIgnoredForMessageResult = null != tmp15 && obj8.isIgnored(tmp15);
const tmp30 = null != tmp15 && obj8.isIgnored(tmp15);
}
obj.ignored = isIgnoredForMessageResult;
obj.mentionEveryone = message.mention_everyone;
obj.mentions = mapped;
obj.mentionRoles = mention_roles;
obj.mentionChannels = mention_channels;
obj.mentionGames = mention_games;
obj.messageReference = message.message_reference;
let tmp9Result = tmp9(4488);
obj1 = { userId: store.getId(), channelId: message.channel_id, mentionEveryone: null, mentionUsers: null, mentionRoles: null };
let flag = message.mention_everyone;
if (flag == null) {
flag = false;
}
obj1[2] = flag;
obj1[3] = mapped;
obj1[4] = mention_roles;
obj.mentioned = tmp9Result.isMentioned(obj1);
tmp9Result = tmp9(4489);
const isGiftCodeEmbedResult = tmp9Result.isGiftCodeEmbed(message);
const findGiftCodes = require(4489) /* _resolveGiftCode */.findGiftCodes;
if (isGiftCodeEmbedResult) {
let url;
if (message != null) {
url = message.embeds[0].url;
}
let findGiftCodesResult = findGiftCodes(url);
} else {
findGiftCodesResult = findGiftCodes(message.content);
}
obj.giftCodes = findGiftCodesResult;
obj.content = str;
obj.referralTrialOfferId = tmp17;
obj.premiumGroupInviteId = tmp20;
const call = message.call;
let tmp36 = null;
if (null != call) {
let tmp39Result = null;
if (null != call.ended_timestamp) {
const _Date = Date;
const date = new Date(call.ended_timestamp);
tmp39Result = importDefault(3837)(date);
const tmp39 = importDefault(3837);
}
let durationResult = null;
if (null != tmp39Result) {
durationResult = importDefault(3837).duration(tmp39Result.diff(tmp35));
const obj12 = importDefault(3837);
}
obj2 = { participants: null, endedTimestamp: null, duration: null };
obj2[0] = call.participants;
obj2[1] = tmp39Result;
obj2[2] = durationResult;
tmp36 = obj2;
}
obj.call = tmp36;
if (null == message.message_snapshots) {
let items = [];
} else {
const message_snapshots = message.message_snapshots;
items = message_snapshots.map((message) => {
const obj = { message: callback(message.message), moderator_report: message.moderator_report };
return new closure_4({ message: callback(message.message), moderator_report: message.moderator_report });
});
}
obj.messageSnapshots = items;
if (reactions == null) {
reactions = message.reactions;
}
const poll = message.poll;
if (null == reactions) {
let results;
if (poll != null) {
results = poll.results;
}
if (null == results) {
let items1 = [];
}
obj.reactions = items1;
obj.interaction = fromServer;
if (interactionData == null) {
interactionData = message.interaction_data;
}
obj.interactionData = interactionData;
({ interaction_metadata: obj7.interactionMetadata, role_subscription_data: obj7.roleSubscriptionData, purchase_notification: obj7.purchaseNotification } = message);
let tmp50;
if (null != message.poll) {
tmp50 = importDefault(4586)(message.poll);
}
obj.poll = tmp50;
obj.sharedClientTheme = message.shared_client_theme;
let tmp52;
if (null != gift_info) {
tmp52 = gift_info;
}
obj.giftInfo = tmp52;
obj.giftingPrompt = message.gifting_prompt;
obj.boostingPrompt = message.boosting_prompt;
tmp23 = new tmp23(obj);
return tmp23;
}
let mapped1;
if (poll != null) {
results = poll.results;
if (results != null) {
const answer_counts = results.answer_counts;
mapped1 = answer_counts.map((me_vote) => {
obj = { count_details: obj, me_vote: me_vote.me_voted, emoji: null, me: false, me_burst: false, count: null, burst_count: 0 };
obj = { vote: me_vote.count };
obj = { id: str.toString(), name: "", animated: false };
obj[2] = obj;
obj[5] = me_vote.count;
return obj;
});
}
}
if (reactions == null) {
reactions = [];
}
const items2 = [...reactions];
if (mapped1 == null) {
mapped1 = [];
}
HermesBuiltin.arraySpread(mapped1, tmp48);
items1 = items2.map((arg0) => {
const obj = {};
const merged = Object.assign(arg0);
if (null != obj.count_details) {
let num = obj.count_details.burst;
if (num == null) {
num = 0;
}
obj.burst_count = num;
let num2 = obj.count_details.normal;
if (num2 == null) {
num2 = 0;
}
obj.count = num2;
}
if (obj.count < 0) {
obj.count = 0;
}
if (obj.burst_count < 0) {
obj.burst_count = 0;
}
return obj;
});
}
({ MessageSnapshotRecord: c4, MinimalMessageRecord: c5 } = hasFlag);
const error = importDefaultResult;
({ MessageFlags: unpackModuleId, MessageTypes: closure_12, MessageTypesSets: map1 } = ME);
importDefaultResult = new importDefaultResult({ id: "???", username: "???" });
let result = require("createdAt").fileFinishedImporting("modules/messages/MessageRecordUtils.tsx");
export { createMessageRecord };
export const updateServerMessage = function updateServerMessage(message, message2) {
if (null != message2.edited_timestamp) {
let obj = {};
const merged = Object.assign(message2);
({ reactions: obj2.reactions, interaction_data: obj2.interaction_data } = message);
} else {
obj = {};
const merged1 = Object.assign(message);
const merged2 = Object.assign(message2);
}
return obj;
};
export const updateMessageRecord = function updateMessageRecord(message, message2) {
if (null != message2.edited_timestamp) {
let obj = { reactions: null, interactionData: null };
({ reactions: obj21[0], interactionData: obj21[1] } = message);
return createMessageRecord(message2, obj);
} else {
let result = message;
if (null != message2.call) {
const call = message2.call;
let tmp13 = null;
if (null != call) {
let tmp = null;
if (null != call.ended_timestamp) {
const _Date = Date;
const date = new Date(call.ended_timestamp);
tmp = importDefault(3837)(date);
const tmp4 = importDefault(3837);
}
let durationResult = null;
if (null != tmp) {
obj = importDefault(3837);
durationResult = obj.duration(tmp.diff(tmp46));
}
obj = { participants: null, endedTimestamp: null, duration: null };
obj[0] = call.participants;
obj[1] = tmp;
obj[2] = durationResult;
tmp13 = obj;
}
result = message.set("call", tmp13);
}
let result1 = result;
if (null != message2.attachments) {
result1 = result.set("attachments", message2.attachments);
}
let result2 = result1;
if (null != message2.application) {
result2 = result1.set("application", message2.application);
}
let result3 = result2;
if (null != message2.activity) {
result3 = result2.set("activity", message2.activity);
}
let tmp14 = null != message2.content;
if (tmp14) {
tmp14 = "" !== message2.content;
}
let result4 = result3;
if (tmp14) {
result4 = result3.set("content", message2.content);
}
if (null == message2.embeds) {
if (null == message2.message_snapshots) {
let result5 = obj8;
if (message2.pinned !== obj8.pinned) {
result5 = obj8.set("pinned", message2.pinned);
}
let result6 = result5;
if (tmp21) {
const tmp25 = new closure_7(message2.author);
result6 = result5.set("author", tmp25);
}
let result7 = result6;
if (tmp27) {
result7 = result6.set("flags", message2.flags);
}
let result8 = result7;
if (null != message2.components) {
result8 = result7.set("components", _require(4476).transformComponents(message2.components));
const obj14 = _require(4476);
}
let result9 = result8;
if (null != message2.role_subscription_data) {
result9 = result8.set("roleSubscriptionData", message2.role_subscription_data);
}
if (null == message2.reactions) {
let result10 = result9;
if (null != message2.poll) {
result10 = result9.set("poll", importDefault(4586)(message2.poll));
}
let flag = false;
let result11 = result10;
if (null != message2.mentions) {
const mentions = message2.mentions;
result11 = result10.set("mentions", mentions.map((id) => id.id));
flag = true;
}
let result12 = result11;
if (null != message2.mention_everyone) {
result12 = result11.set("mentionEveryone", message2.mention_everyone);
flag = true;
}
let result13 = result12;
if (null != message2.mention_roles) {
result13 = result12.set("mentionRoles", message2.mention_roles);
flag = true;
}
let result14 = result13;
if (flag) {
const obj1 = { message: null, userId: null };
obj1[0] = result13;
obj1[1] = store.getId();
result14 = result13.set("mentioned", importDefault(4488)(obj1));
const tmp43 = importDefault(4488);
}
return result14;
} else {
let reactions = message.reactions;
if (reactions == null) {
reactions = message2.reactions;
}
if (null == reactions) {
let items = [];
} else {
if (reactions == null) {
reactions = [];
}
const items1 = [];
let arraySpreadResult = HermesBuiltin.arraySpread(reactions, 0);
arraySpreadResult = HermesBuiltin.arraySpread([], arraySpreadResult);
items = items1.map((arg0) => {
const obj = {};
const merged = Object.assign(arg0);
if (null != obj.count_details) {
let num = obj.count_details.burst;
if (num == null) {
num = 0;
}
obj.burst_count = num;
let num2 = obj.count_details.normal;
if (num2 == null) {
num2 = 0;
}
obj.count = num2;
}
if (obj.count < 0) {
obj.count = 0;
}
if (obj.burst_count < 0) {
obj.burst_count = 0;
}
return obj;
});
}
const result15 = result9.set("reactions", items);
}
tmp21 = null != result5.webhookId && null != message2.author;
tmp27 = null != message2.flags && message2.flags !== result6.flags;
} else {
if (null == message2.message_snapshots) {
let items2 = [];
} else {
const message_snapshots = message2.message_snapshots;
items2 = message_snapshots.map((message) => {
const obj = { message: callback(message.message), moderator_report: message.moderator_report };
return new closure_4({ message: callback(message.message), moderator_report: message.moderator_report });
});
}
const result16 = result4.set("messageSnapshots", items2);
}
} else {
_require = message2;
if (null == message2.embeds) {
let items3 = [];
} else {
const embeds = message2.embeds;
const mapped = embeds.map((footer) => message2(outer1_2[15]).sanitizeEmbed(message2.channel_id, message2.id, footer));
items3 = _require(4587).mergeEmbedsOnURL(mapped);
const obj9 = _require(4587);
}
const result17 = result4.set("embeds", items3);
}
}
};
export const canEditMessageWithStickers = function canEditMessageWithStickers(content) {
let tmp = 0 === require(4589) /* getStickerExtensionFromFormatType */.getMessageStickers(content).length;
if (!tmp) {
tmp = "" !== content.content;
}
return tmp;
};
export const hasEphemeralAppearance = function hasEphemeralAppearance(message) {
let hasFlagResult = message.hasFlag(constants.EPHEMERAL);
if (hasFlagResult) {
hasFlagResult = message.type !== constants2.IN_GAME_MESSAGE_NUX;
}
return hasFlagResult;
};