526 lines
17 KiB
TypeScript
526 lines
17 KiB
TypeScript
// Module ID: 5434
|
|
// Function ID: 5435
|
|
// Name: MessageRecordUtils
|
|
// Dependencies: [5435, 4761, 1404, 502, 4760, 1390, 1085, 5436, 5072, 5627, 11, 5632, 5633, 5746, 4702, 5747, 5749, 2]
|
|
// Exports: canEditMessageWithStickers, hasEphemeralAppearance, updateMessageRecord, updateServerMessage
|
|
|
|
// Module 5434 (MessageRecordUtils)
|
|
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
|
|
import _modDef4702 from "module_4702" /* 4702 */;
|
|
import findCodedLinksDefault from "findCodedLinks" /* 5072 */;
|
|
import useMessageAuthor from "useMessageAuthor" /* 5627 */;
|
|
import isMessageMentioned from "isMessageMentioned" /* 5632 */;
|
|
import GiftCodeUtils from "GiftCodeUtils" /* 5633 */;
|
|
import transformMessagPollDefault from "transformMessagPoll" /* 5746 */;
|
|
import EmbedUtils from "EmbedUtils" /* 5747 */;
|
|
import StickersUtils from "StickersUtils" /* 5749 */;
|
|
import InteractionRecord from "InteractionRecord" /* 5435 */;
|
|
import MessageRecord_mod from "MessageRecord" /* 4761 */;
|
|
import UserRecord from "UserRecord" /* 1404 */;
|
|
import AuthenticationStore from "AuthenticationStore" /* 502 */;
|
|
import RelationshipStore from "RelationshipStore" /* 4760 */;
|
|
import UserStore from "UserStore" /* 1390 */;
|
|
import Constants from "Constants" /* 1085 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
const require = globalThis.__r;
|
|
const isMessageMentionedDefault = isMessageMentioned;
|
|
let _require, results, set, set2, set3, set4;
|
|
|
|
let closure_12;
|
|
let closure_4;
|
|
let hasOwnProperty;
|
|
let map1;
|
|
let unpackModuleId;
|
|
const f92134 = (item) => {
|
|
const obj = EmbedUtils;
|
|
return obj.sanitizeEmbed(message2.channel_id, message2.id, item);
|
|
};
|
|
const f92136 = (item) => {
|
|
const obj = {};
|
|
const merged = Object.assign(item);
|
|
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 f92137 = (message) => {
|
|
const obj = { message: createMinimalMessageRecord(message.message), moderator_report: message.moderator_report };
|
|
const tmp = new closure_1_4(obj);
|
|
return tmp;
|
|
};
|
|
function createMinimalMessageRecord(timestamp) {
|
|
let attachments;
|
|
let components;
|
|
let date1;
|
|
let items;
|
|
let items1;
|
|
let transformComponents;
|
|
const obj = { timestamp: new Date(timestamp.timestamp), editedTimestamp: date1, attachments, embeds: items, components: transformComponents(components), codedLinks: items1 };
|
|
const merged = Object.assign(timestamp);
|
|
date1 = null;
|
|
new Date(timestamp.timestamp);
|
|
const tmp = closure_5;
|
|
if (null != timestamp.edited_timestamp) {
|
|
const _Date = Date;
|
|
const self = this;
|
|
const self2 = this;
|
|
date1 = new Date(timestamp.edited_timestamp);
|
|
}
|
|
attachments = timestamp.attachments;
|
|
if (attachments == null) {
|
|
attachments = [];
|
|
}
|
|
_require = timestamp;
|
|
if (null == timestamp.embeds) {
|
|
items = [];
|
|
} else {
|
|
const embeds = timestamp.embeds;
|
|
const mapped = embeds.map(f92134);
|
|
const obj2 = require("EmbedUtils");
|
|
items = obj2.mergeEmbedsOnURL(mapped);
|
|
}
|
|
components = timestamp.components;
|
|
transformComponents = require("InteractionComponentUtils").transformComponents;
|
|
require("InteractionComponentUtils");
|
|
if (components == null) {
|
|
components = [];
|
|
}
|
|
const NON_PARSED = constants3.NON_PARSED;
|
|
if (NON_PARSED.has(timestamp.type)) {
|
|
items1 = [];
|
|
} else {
|
|
items1 = findCodedLinksDefault(timestamp.content);
|
|
}
|
|
const tmp2 = new tmp(obj);
|
|
return tmp2;
|
|
}
|
|
function createMessageRecord(message, arg1) {
|
|
let findGiftCodesResult;
|
|
let flag;
|
|
let gift_info;
|
|
let interactionData;
|
|
let isBlockedForMessageResult;
|
|
let isIgnoredForMessageResult;
|
|
let isMentioned;
|
|
let items;
|
|
let obj10;
|
|
let reactions;
|
|
let tmp24;
|
|
let tmp39;
|
|
let user;
|
|
let obj = arg1;
|
|
if (arg1 === undefined) {
|
|
obj = {};
|
|
}
|
|
({ reactions, interactionData } = obj);
|
|
let obj2 = 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 = [];
|
|
}
|
|
const message_reference = message.message_reference;
|
|
if (null == message.author) {
|
|
user = importDefaultResult1;
|
|
} else if (null != message.webhook_id) {
|
|
const self3 = this;
|
|
let self2 = this;
|
|
user = new UserRecord(message.author);
|
|
} else {
|
|
const author = message.author;
|
|
user = UserStore.getUser(author.id);
|
|
if (user == null) {
|
|
const self = this;
|
|
self2 = this;
|
|
user = new UserRecord(author);
|
|
}
|
|
}
|
|
const obj3 = useMessageAuthor;
|
|
const obj4 = { channel_id: message.channel_id, author: user };
|
|
const messageAuthor = obj3.getMessageAuthor(obj4);
|
|
if (message != null) {
|
|
gift_info = message.gift_info;
|
|
}
|
|
let fromServer = null;
|
|
const gifting_prompt = message.gifting_prompt;
|
|
if (null != message.interaction) {
|
|
fromServer = InteractionRecord.createFromServer(message.interaction);
|
|
}
|
|
if (message.type === constants2.THREAD_STARTER_MESSAGE) {
|
|
const referenced_message = message.referenced_message;
|
|
let id;
|
|
if (referenced_message != null) {
|
|
const author2 = referenced_message.author;
|
|
if (author2 != null) {
|
|
id = author2.id;
|
|
}
|
|
}
|
|
}
|
|
let str = message.content;
|
|
let tmp14;
|
|
if (message.type === constants2.PREMIUM_REFERRAL) {
|
|
let content;
|
|
const obj5 = SnowflakeUtilsDefault;
|
|
if (obj5.isProbablyAValidSnowflake(message.content)) {
|
|
content = message.content;
|
|
}
|
|
str = "";
|
|
tmp14 = content;
|
|
}
|
|
let tmp17;
|
|
if (message.type === constants2.PREMIUM_GROUP_INVITE) {
|
|
let content1;
|
|
const obj6 = SnowflakeUtilsDefault;
|
|
if (obj6.isProbablyAValidSnowflake(message.content)) {
|
|
content1 = message.content;
|
|
}
|
|
str = "";
|
|
tmp17 = content1;
|
|
}
|
|
const obj9 = { author: user, actor: tmp24, webhookId: message.webhook_id, blocked: isBlockedForMessageResult, ignored: isIgnoredForMessageResult, mentionEveryone: message.mention_everyone, mentions: mapped, mentionRoles: mention_roles, mentionChannels: mention_channels, messageReference: message_reference, mentioned: isMentioned(obj10), giftCodes: findGiftCodesResult, content: str, referralTrialOfferId: tmp14, premiumGroupInviteId: tmp17, call: tmp39, messageSnapshots: items };
|
|
const merged = Object.assign(message);
|
|
const merged1 = Object.assign(messageAuthor);
|
|
const merged2 = Object.assign(obj2.toJS());
|
|
tmp24 = null;
|
|
const tmp20 = MessageRecord;
|
|
if (null != message.actor) {
|
|
const actor = message.actor;
|
|
let user1 = UserStore.getUser(actor.id);
|
|
if (user1 == null) {
|
|
const self4 = this;
|
|
self2 = this;
|
|
user1 = new UserRecord(actor);
|
|
}
|
|
tmp24 = user1;
|
|
}
|
|
isBlockedForMessageResult = RelationshipStore.isBlockedForMessage(message);
|
|
if (!isBlockedForMessageResult) {
|
|
isBlockedForMessageResult = null != tmp12 && RelationshipStore.isBlocked(tmp12);
|
|
null != tmp12 && RelationshipStore.isBlocked(tmp12);
|
|
}
|
|
isIgnoredForMessageResult = obj8.isIgnoredForMessage(message);
|
|
if (!isIgnoredForMessageResult) {
|
|
isIgnoredForMessageResult = null != tmp12 && RelationshipStore.isIgnored(tmp12);
|
|
null != tmp12 && RelationshipStore.isIgnored(tmp12);
|
|
}
|
|
const tmp6Result = isMessageMentioned;
|
|
isMentioned = tmp6Result.isMentioned;
|
|
obj10 = { userId: AuthenticationStore.getId(), channelId: message.channel_id, mentionEveryone: flag, mentionUsers: mapped, mentionRoles: mention_roles };
|
|
flag = message.mention_everyone;
|
|
if (flag == null) {
|
|
flag = false;
|
|
}
|
|
const tmp6Result3 = GiftCodeUtils;
|
|
const isGiftCodeEmbedResult = tmp6Result3.isGiftCodeEmbed(message);
|
|
const findGiftCodes = GiftCodeUtils.findGiftCodes;
|
|
GiftCodeUtils;
|
|
if (isGiftCodeEmbedResult) {
|
|
let url;
|
|
if (message != null) {
|
|
url = message.embeds[0].url;
|
|
}
|
|
findGiftCodesResult = findGiftCodes(url);
|
|
} else {
|
|
findGiftCodesResult = findGiftCodes(message.content);
|
|
}
|
|
const call = message.call;
|
|
tmp39 = null;
|
|
if (null != call) {
|
|
let tmp42Result = null;
|
|
if (null != call.ended_timestamp) {
|
|
const _Date = Date;
|
|
const self5 = this;
|
|
self2 = this;
|
|
const tmp42 = _modDef4702;
|
|
const date = new Date(call.ended_timestamp);
|
|
tmp42Result = tmp42(date);
|
|
}
|
|
let durationResult = null;
|
|
if (null != tmp42Result) {
|
|
const obj11 = _modDef4702;
|
|
durationResult = obj11.duration(tmp42Result.diff(tmp38));
|
|
}
|
|
tmp39 = { participants: call.participants, endedTimestamp: tmp42Result, duration: durationResult };
|
|
const obj12 = { participants: call.participants, endedTimestamp: tmp42Result, duration: durationResult };
|
|
}
|
|
if (null == message.message_snapshots) {
|
|
items = [];
|
|
} else {
|
|
const message_snapshots = message.message_snapshots;
|
|
items = message_snapshots.map(f92137);
|
|
}
|
|
if (reactions == null) {
|
|
reactions = message.reactions;
|
|
}
|
|
const poll = message.poll;
|
|
if (null == reactions) {
|
|
let items1;
|
|
let results1;
|
|
if (poll != null) {
|
|
results1 = poll.results;
|
|
}
|
|
if (null == results1) {
|
|
items1 = [];
|
|
}
|
|
obj9.reactions = items1;
|
|
obj9.interaction = fromServer;
|
|
if (interactionData == null) {
|
|
interactionData = message.interaction_data;
|
|
}
|
|
obj9.interactionData = interactionData;
|
|
({ interaction_metadata: obj7.interactionMetadata, role_subscription_data: obj7.roleSubscriptionData, purchase_notification: obj7.purchaseNotification } = message);
|
|
let tmp51;
|
|
if (null != message.poll) {
|
|
tmp51 = transformMessagPollDefault(message.poll);
|
|
}
|
|
obj9.poll = tmp51;
|
|
obj9.sharedClientTheme = message.shared_client_theme;
|
|
let tmp53;
|
|
if (null != gift_info) {
|
|
tmp53 = gift_info;
|
|
}
|
|
obj9.giftInfo = tmp53;
|
|
obj9.giftingPrompt = gifting_prompt;
|
|
({ boosting_prompt: obj7.boostingPrompt, guild_space_data: obj7.guildSpaceData } = message);
|
|
const self6 = this;
|
|
const self7 = this;
|
|
const tmp202 = new tmp20(obj9);
|
|
return tmp202;
|
|
}
|
|
let mapped1;
|
|
if (poll != null) {
|
|
results = poll.results;
|
|
if (results != null) {
|
|
const answer_counts = results.answer_counts;
|
|
mapped1 = answer_counts.map((vote) => {
|
|
let obj2;
|
|
const obj = { count_details: { vote: vote.count }, me_vote: vote.me_voted, emoji: obj2, me: false, me_burst: false, count: vote.count, burst_count: 0 };
|
|
obj2 = { id: str.toString(), name: "", animated: false };
|
|
return obj;
|
|
});
|
|
}
|
|
}
|
|
if (reactions == null) {
|
|
reactions = [];
|
|
}
|
|
const items2 = [...reactions];
|
|
if (mapped1 == null) {
|
|
mapped1 = [];
|
|
}
|
|
HermesBuiltin.arraySpread(items2, mapped1, tmp49);
|
|
items1 = items2.map(f92136);
|
|
}
|
|
let MessageRecord = MessageRecord_mod;
|
|
({ MessageSnapshotRecord: closure_4, MinimalMessageRecord: hasOwnProperty } = MessageRecord);
|
|
MessageRecord = MessageRecord_mod;
|
|
({ MessageFlags: unpackModuleId, MessageTypes: closure_12, MessageTypesSets: map1 } = Constants);
|
|
const importDefaultResult1 = new UserRecord({ id: "???", username: "???" });
|
|
let result = size.fileFinishedImporting("modules/messages/MessageRecordUtils.tsx");
|
|
|
|
export { createMessageRecord };
|
|
export const updateServerMessage = function updateServerMessage(message, message2) {
|
|
let obj;
|
|
if (null != message2.edited_timestamp) {
|
|
const obj3 = {};
|
|
const merged = Object.assign(message2);
|
|
({ reactions: obj2.reactions, interaction_data: obj2.interaction_data } = message);
|
|
obj = obj3;
|
|
} 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) {
|
|
const obj2 = { reactions: null, interactionData: null };
|
|
({ reactions: obj17.reactions, interactionData: obj17.interactionData } = message);
|
|
return createMessageRecord(message2, obj2);
|
|
} else {
|
|
let set7Result = message;
|
|
if (null != message2.call) {
|
|
const call = message2.call;
|
|
let tmp11 = null;
|
|
const set7 = message.set;
|
|
if (null != call) {
|
|
let tmp = null;
|
|
if (null != call.ended_timestamp) {
|
|
const _Date = Date;
|
|
const self = this;
|
|
let self2 = this;
|
|
const tmp4 = _modDef4702;
|
|
const date = new Date(call.ended_timestamp);
|
|
tmp = tmp4(date);
|
|
}
|
|
let durationResult = null;
|
|
if (null != tmp) {
|
|
let obj = _modDef4702;
|
|
durationResult = obj.duration(tmp.diff(tmp43));
|
|
}
|
|
tmp11 = { participants: call.participants, endedTimestamp: tmp, duration: durationResult };
|
|
const obj3 = { participants: call.participants, endedTimestamp: tmp, duration: durationResult };
|
|
}
|
|
set7Result = set7("call", tmp11);
|
|
}
|
|
let result = set7Result;
|
|
if (null != message2.attachments) {
|
|
result = set7Result.set("attachments", message2.attachments);
|
|
}
|
|
let result1 = result;
|
|
if (null != message2.application) {
|
|
result1 = result.set("application", message2.application);
|
|
}
|
|
let result2 = result1;
|
|
if (null != message2.activity) {
|
|
result2 = result1.set("activity", message2.activity);
|
|
}
|
|
let result3 = result2;
|
|
const tmp12 = null != message2.content && "" !== message2.content;
|
|
if (tmp12) {
|
|
result3 = result2.set("content", message2.content);
|
|
}
|
|
let result4 = result3;
|
|
if (null != message2.embeds) {
|
|
let items;
|
|
_require = message2;
|
|
set = result3.set;
|
|
if (null == message2.embeds) {
|
|
items = [];
|
|
} else {
|
|
const embeds = message2.embeds;
|
|
const mapped = embeds.map(f92134);
|
|
const obj7 = require("EmbedUtils");
|
|
items = obj7.mergeEmbedsOnURL(mapped);
|
|
}
|
|
result4 = set("embeds", items);
|
|
}
|
|
let set2Result = result4;
|
|
if (null != message2.message_snapshots) {
|
|
let items1;
|
|
set2 = result4.set;
|
|
if (null == message2.message_snapshots) {
|
|
items1 = [];
|
|
} else {
|
|
const message_snapshots = message2.message_snapshots;
|
|
items1 = message_snapshots.map(f92137);
|
|
}
|
|
set2Result = set2("messageSnapshots", items1);
|
|
}
|
|
let result5 = set2Result;
|
|
if (message2.pinned !== set2Result.pinned) {
|
|
result5 = set2Result.set("pinned", message2.pinned);
|
|
}
|
|
let set3Result = result5;
|
|
const tmp19 = null != result5.webhookId && null != message2.author;
|
|
if (tmp19) {
|
|
const self3 = this;
|
|
self2 = this;
|
|
set3 = result5.set;
|
|
const tmp21 = new UserRecord(message2.author);
|
|
set3Result = set3("author", tmp21);
|
|
}
|
|
let result6 = set3Result;
|
|
const tmp23 = null != message2.flags && message2.flags !== set3Result.flags;
|
|
if (tmp23) {
|
|
result6 = set3Result.set("flags", message2.flags);
|
|
}
|
|
let set4Result = result6;
|
|
if (null != message2.components) {
|
|
set4 = result6.set;
|
|
const obj11 = require("InteractionComponentUtils");
|
|
set4Result = set4("components", obj11.transformComponents(message2.components));
|
|
}
|
|
let result7 = set4Result;
|
|
if (null != message2.role_subscription_data) {
|
|
result7 = set4Result.set("roleSubscriptionData", message2.role_subscription_data);
|
|
}
|
|
let set5Result = result7;
|
|
if (null != message2.reactions) {
|
|
let items2;
|
|
let reactions = message.reactions;
|
|
const set5 = result7.set;
|
|
if (reactions == null) {
|
|
reactions = message2.reactions;
|
|
}
|
|
if (null == reactions) {
|
|
items2 = [];
|
|
} else {
|
|
if (reactions == null) {
|
|
reactions = [];
|
|
}
|
|
const items3 = [];
|
|
let num = 0;
|
|
const arraySpreadResult = HermesBuiltin.arraySpread(items3, reactions, 0);
|
|
HermesBuiltin.arraySpread(items3, [], arraySpreadResult);
|
|
items2 = items3.map(f92136);
|
|
}
|
|
set5Result = set5("reactions", items2);
|
|
}
|
|
let result8 = set5Result;
|
|
if (null != message2.poll) {
|
|
result8 = set5Result.set("poll", transformMessagPollDefault(message2.poll));
|
|
}
|
|
let flag = false;
|
|
let result9 = result8;
|
|
if (null != message2.mentions) {
|
|
const mentions = message2.mentions;
|
|
result9 = result8.set("mentions", mentions.map((id) => id.id));
|
|
flag = true;
|
|
}
|
|
let result10 = result9;
|
|
if (null != message2.mention_everyone) {
|
|
result10 = result9.set("mentionEveryone", message2.mention_everyone);
|
|
flag = true;
|
|
}
|
|
let result11 = result10;
|
|
if (null != message2.mention_roles) {
|
|
result11 = result10.set("mentionRoles", message2.mention_roles);
|
|
flag = true;
|
|
}
|
|
let set6Result = result11;
|
|
if (flag) {
|
|
const obj4 = { message: result11, userId: AuthenticationStore.getId() };
|
|
const set6 = result11.set;
|
|
const tmp40 = isMessageMentionedDefault;
|
|
set6Result = set6("mentioned", tmp40(obj4));
|
|
}
|
|
return set6Result;
|
|
}
|
|
};
|
|
export const canEditMessageWithStickers = function canEditMessageWithStickers(content) {
|
|
const obj = StickersUtils;
|
|
const tmp = 0 === obj.getMessageStickers(content).length || "" !== content.content;
|
|
return tmp;
|
|
};
|
|
export const hasEphemeralAppearance = function hasEphemeralAppearance(message) {
|
|
const hasFlagResult = message.hasFlag(unpackModuleId.EPHEMERAL) && message.type !== constants2.IN_GAME_MESSAGE_NUX;
|
|
return hasFlagResult;
|
|
};
|