Files
discord-decomp/modules/messages/isNewMessageGroup.tsx
T
2026-11-01 12:12:55 +02:00

83 lines
3.8 KiB
TypeScript

// Metro module 9503 (f9504).
import { ChannelStreamTypes, MessageFlags, MessageTypes } from "../../Constants";
import Durations from "../../utils/Durations";
import isSystemMessage from "./isSystemMessage";
import SnowflakeUtils from "../../utils/SnowflakeUtils";
import * as _DateUtils from "../../utils/DateUtils";
let c6267_6;
const isNewMessageGroup = function isNewMessageGroup(a0, content, a2) {
let r40;
const hasFlag = a2.hasFlag(MessageFlags.HAS_THREAD);
const r1 = hasFlag ? !hasFlag : !a2.isCommandType();
let r9 = !r1;
if (r1) {
let r31 = content.blocked !== a2.blocked || content.ignored !== a2.ignored;
if (!r31) {
if (a2.type > MessageTypes.DEFAULT) {
const isSystemMessage2 = isSystemMessage(content);
r40 = isSystemMessage2 ? a2.type === MessageTypes.REPLY : !isSystemMessage2;
} else {
r40 = !!isSystemMessage(content);
if (!r40) {
let r2 = content.author.id !== a2.author.id;
if (!r2) {
let r13 = content.hasFlag(MessageFlags.EPHEMERAL) !== a2.hasFlag(MessageFlags.EPHEMERAL);
if (!r13) {
let r6 = a2.webhookId != null && content.author.username !== a2.author.username;
if (!r6) {
const r55 = a0 == null ? void 0 : a0.isForumPost();
const r3 = r55 ? content.id !== SnowflakeUtils.castChannelIdAsMessageId(a0.id) : !r55;
let r63 = !r3;
if (r3) {
const isSameDay = _DateUtils.isSameDay(content.timestamp, a2.timestamp);
let r70 = !isSameDay;
if (isSameDay) {
const isWithinInterval = _DateUtils.isWithinInterval(content.timestamp, a2.timestamp, c6267_6);
let r78 = !isWithinInterval;
if (isWithinInterval) {
const hasFlag2 = a2.hasFlag(MessageFlags.SUPPRESS_NOTIFICATIONS);
const r82 = hasFlag2 ? content.hasFlag(MessageFlags.SUPPRESS_NOTIFICATIONS) : !hasFlag2;
let r12 = !r82;
if (r82) {
const hasFlag3 = content.hasFlag(MessageFlags.SUPPRESS_NOTIFICATIONS);
const r88 = (hasFlag3 ? a2.hasFlag(MessageFlags.SUPPRESS_NOTIFICATIONS) : !hasFlag3) || !(a2.mentions.length > 0 || a2.mentionRoles.length > 0 || a2.mentionEveryone);
let r11 = !r88;
if (r88) {
let r10 = a2.applicationId !== content.applicationId;
if (!r10) {
const additionalName = a2.additionalName;
const r99 = additionalName == null ? null : additionalName !== "" ? additionalName : null;
const additionalName2 = content.additionalName;
r10 = r99 !== (additionalName2 == null ? null : additionalName2 !== "" ? additionalName2 : null);
}
r11 = r10;
}
r12 = r11;
}
r78 = r12;
}
r70 = r78;
}
r63 = r70;
}
r6 = r63;
}
r13 = r6;
}
r2 = r13;
}
r40 = r2;
}
}
r31 = r40;
}
r9 = r31;
}
return r9;
};
c6267_6 = 7 * Durations.Millis.MINUTE;
export default isNewMessageGroup;
export function isNewGroupItem(a0, a1, a2) {
return a1 == null || (a1.type === ChannelStreamTypes.MESSAGE && a1.content.id === a1.content.channel_id || (a1.type !== ChannelStreamTypes.MESSAGE && a1.type !== ChannelStreamTypes.THREAD_STARTER_MESSAGE || isNewMessageGroup(a0, a1.content, a2)));
}