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

82 lines
3.1 KiB
TypeScript

// Metro module 11146 (f11147).
import AuthenticationStore from "../../stores/AuthenticationStore";
import { MessageFlags, MessageStates, MessageTypes } from "../../Constants";
import createMessage from "./createMessage";
import { createMessageRecord } from "./MessageRecordUtils";
import * as _Module1384 from "../../_bundle/Module1384";
import { setFlag } from "../../_bundle/Module1384";
import { ChannelRecipientPrivateUserDataFlags } from "../../_bundle/Module11147";
import PrivateChannelRecipientActionCreators from "../private_channel_recipient/PrivateChannelRecipientActionCreators";
let c7533_7 = new Map();
export function tryCreateInjectedMessage(a0, a1) {
let message;
if (c7533_7.get(a1.id) === a0.id) {
const messageRecord2 = createMessageRecord(createMessage({
channelId: a1.id,
type: MessageTypes.IN_GAME_MESSAGE_NUX,
content: "",
author: a0.author,
flags: MessageFlags.EPHEMERAL,
state: MessageStates.SENT
}));
messageRecord2.applicationId = a0.applicationId;
messageRecord2.timestamp = a0.timestamp;
message = messageRecord2;
} else {
const r1 = a0.applicationId == null;
message = null;
if (!r1) {
const hasFlag = _Module1384.hasFlag(a0.flags, MessageFlags.SENT_BY_SOCIAL_LAYER_INTEGRATION);
message = null;
if (hasFlag) {
const isDM = a1.isDM();
message = null;
if (isDM) {
const id = a0.author.id;
const id2 = AuthenticationStore.getId();
message = null;
if (id !== id2) {
const r3 = a0.activity != null;
message = null;
if (!r3) {
let recipientFlags = a1.recipientFlags;
if (recipientFlags == null) {
recipientFlags = 0;
}
const hasFlag2 = _Module1384.hasFlag(recipientFlags, ChannelRecipientPrivateUserDataFlags.DISMISSED_IN_GAME_MESSAGE_NUX);
message = null;
if (!hasFlag2) {
const r43 = c7533_7.has(a1.id);
message = null;
if (!r43) {
const messageRecord = createMessageRecord(createMessage({
channelId: a1.id,
type: MessageTypes.IN_GAME_MESSAGE_NUX,
content: "",
author: a0.author,
flags: MessageFlags.EPHEMERAL,
state: MessageStates.SENT
}));
messageRecord.applicationId = a0.applicationId;
messageRecord.timestamp = a0.timestamp;
c7533_7.set(a1.id, a0.id);
let recipientFlags2 = a1.recipientFlags;
if (recipientFlags2 == null) {
recipientFlags2 = 0;
}
PrivateChannelRecipientActionCreators.updatePrivateChannelRecipientFlags(a1.id, setFlag(recipientFlags2, ChannelRecipientPrivateUserDataFlags.DISMISSED_IN_GAME_MESSAGE_NUX, true));
message = messageRecord;
}
}
}
}
}
}
}
}
return message != null ? {
message,
position: "before"
} : null;
}