decord/source/modules/guild_automod/GuildAutomodMessageStore.tsx

194 lines
6.4 KiB
TypeScript
Raw Normal View History

// Module ID: 8042
// Function ID: 8043
// Name: GuildAutomodMessageStore
// Dependencies: [1957, 4857, 1074, 7936, 8043, 4859, 7611, 11, 504, 573, 2]
2026-07-20 16:05:17 +00:00
// Module 8042 (GuildAutomodMessageStore)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
import initializeDefault from "initialize" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 573 */;
import MessageRecordUtils from "MessageRecordUtils" /* 4859 */;
import AutomodMessageUtils from "AutomodMessageUtils" /* 7611 */;
import MessageQueue from "MessageQueue" /* 7936 */;
import AutomodErrorUtils from "AutomodErrorUtils" /* 8043 */;
import ChannelStore from "ChannelStore" /* 1957 */;
import MessageStore from "MessageStore" /* 4857 */;
2026-07-23 10:11:24 +00:00
require = fn;
2026-07-20 16:05:17 +00:00
function handleMessageSendFailedAutomod(messageData) {
messageData = messageData.messageData;
const failedMessageId = MessageQueue.getFailedMessageId(messageData);
const obj2 = { id: failedMessageId, isBlockedEdit: null, messageData: null, errorMessage: null };
obj2.isBlockedEdit = MessageQueue.isMessageDataEdit(messageData);
obj2.messageData = messageData;
obj2.errorMessage = AutomodErrorUtils.getAutomodErrorMessage(messageData, messageData.errorResponseBody);
closure_8[failedMessageId] = obj2;
2026-07-29 08:29:29 +00:00
closure_9 = closure_9 + 1;
2026-07-20 16:05:17 +00:00
return true;
}
function handleLoadMessages(messages) {
messages = messages.messages;
const channel = ChannelStore.getChannel(messages.channelId);
2026-07-20 16:05:17 +00:00
let guildId;
2026-07-29 08:29:29 +00:00
if (channel != null) {
2026-07-20 16:05:17 +00:00
guildId = channel.getGuildId();
}
if (null == guildId) {
return false;
} else {
const reduced = messages.reduce((acc, type) => {
2026-07-29 08:29:29 +00:00
if (type.type === constants.AUTO_MODERATION_ACTION) {
2026-07-20 16:05:17 +00:00
const embeds = type.embeds;
let someResult;
2026-07-29 08:29:29 +00:00
if (embeds != null) {
someResult = embeds.some((type) => type.type === constants.AUTO_MODERATION_NOTIFICATION);
2026-07-20 16:05:17 +00:00
}
let tmp3 = acc;
2026-07-20 16:05:17 +00:00
if (someResult) {
if (null == acc) {
2026-07-20 16:05:17 +00:00
const id = type.id;
}
2026-07-29 08:29:29 +00:00
tmp3 = id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp3;
} else {
return acc;
2026-07-20 16:05:17 +00:00
}
}, lastIncidentAlertMessage[guildId]);
2026-07-29 08:29:29 +00:00
let flag = null != reduced && tmp2[guildId] !== reduced;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
tmp2[guildId] = reduced;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
}
}
const Constants = fn(1074);
({ AbortCodes: hasOwnProperty, MessageEmbedTypes: metroRequire, MessageTypes: closure_7 } = Constants);
const automodFailedMessages = {};
let closure_9 = 0;
const mentionRaidDetectionByGuild = {};
const lastIncidentAlertMessage = {};
2026-08-24 06:08:38 +00:00
const PersistedStore = initializeDefault.PersistedStore;
2026-07-29 08:29:29 +00:00
class GuildAutomodMessageStore extends PersistedStore {
}
const prototype = GuildAutomodMessageStore.prototype;
prototype["initialize"] = function initialize(arg0) {
this.waitFor(ChannelStore, MessageStore);
2026-07-29 08:29:29 +00:00
if (null != arg0) {
({ automodFailedMessages: closure_8, mentionRaidDetectionByGuild: closure_10 } = arg0);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
};
prototype["getState"] = function getState() {
return { automodFailedMessages, mentionRaidDetectionByGuild, lastIncidentAlertMessage };
2026-07-29 08:29:29 +00:00
};
prototype["getMessage"] = function getMessage(arg0) {
let tmp = null;
if (null != arg0) {
let tmp3 = automodFailedMessages[arg0];
2026-07-29 08:29:29 +00:00
if (tmp3 == null) {
tmp3 = null;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = tmp3;
}
return tmp;
};
prototype["getMessagesVersion"] = function getMessagesVersion() {
return closure_9;
2026-07-29 08:29:29 +00:00
};
prototype["getMentionRaidDetected"] = function getMentionRaidDetected(arg0) {
let tmp = mentionRaidDetectionByGuild[arg0];
2026-07-29 08:29:29 +00:00
if (tmp == null) {
tmp = null;
}
return tmp;
};
prototype["getLastIncidentAlertMessage"] = function getLastIncidentAlertMessage(arg0) {
let tmp = lastIncidentAlertMessage[arg0];
2026-07-29 08:29:29 +00:00
if (tmp == null) {
tmp = null;
}
return tmp;
};
GuildAutomodMessageStore.displayName = "GuildAutomodMessageStore";
GuildAutomodMessageStore.persistKey = "GuildAutomodMessages";
const guildAutomodMessageStore = new GuildAutomodMessageStore(DispatcherDefault, {
2026-07-20 16:05:17 +00:00
CONNECTION_OPEN: function handleConnectionOpen() {
2026-07-29 08:29:29 +00:00
let flag = 0 !== Object.keys(closure_8).length;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
closure_8 = {};
closure_9 = closure_9 + 1;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
},
LOAD_MESSAGES_SUCCESS: handleLoadMessages,
LOCAL_MESSAGES_LOADED: handleLoadMessages,
MESSAGE_CREATE: function handleIncidentAlertMessageCreate(arg0) {
({ guildId, message } = arg0);
if (null == guildId) {
return false;
} else if (message.type !== constants2.AUTO_MODERATION_ACTION) {
return false;
} else {
const messageRecord = MessageRecordUtils.createMessageRecord(message);
2026-07-29 08:29:29 +00:00
const tmp = require;
let result = AutomodMessageUtils.isAutomodMessageRecord(messageRecord);
2026-07-29 08:29:29 +00:00
if (result) {
let flag = tmp(7611).isAutomodNotification(messageRecord);
2026-07-29 08:29:29 +00:00
if (flag) {
closure_11[guildId] = messageRecord.id;
2026-07-20 16:05:17 +00:00
flag = true;
}
2026-07-29 08:29:29 +00:00
result = flag;
const tmpResult = tmp(7611);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return result;
2026-07-20 16:05:17 +00:00
}
},
MESSAGE_SEND_FAILED_AUTOMOD: handleMessageSendFailedAutomod,
MESSAGE_EDIT_FAILED_AUTOMOD: handleMessageSendFailedAutomod,
2026-07-29 08:29:29 +00:00
REMOVE_AUTOMOD_MESSAGE_NOTICE: function handleMessageNoticeRemove(arg0) {
if (null != automodFailedMessages[arg0.messageId]) {
2026-07-29 08:29:29 +00:00
delete tmp[tmp2];
}
closure_9 = closure_9 + 1;
2026-07-20 16:05:17 +00:00
return true;
},
MESSAGE_END_EDIT: function handleMessageEndEdit(response) {
response = response.response;
let body;
2026-07-29 08:29:29 +00:00
if (response != null) {
2026-07-20 16:05:17 +00:00
body = response.body;
}
if (null == body) {
return false;
} else if (response.body.code === constants.AUTOMOD_MESSAGE_BLOCKED) {
return false;
} else {
const id = response.body.id;
if (null == id) {
return false;
} else {
if (null != automodFailedMessages[id]) {
2026-07-29 08:29:29 +00:00
delete tmp[tmp2];
}
closure_9 = closure_9 + 1;
2026-07-20 16:05:17 +00:00
}
}
},
AUTO_MODERATION_MENTION_RAID_DETECTION: function handleMentionRaidDetection(decisionId) {
const guildId = decisionId.guildId;
2026-07-29 08:29:29 +00:00
closure_10[guildId] = { guildId, decisionId: decisionId.decisionId, suspiciousMentionActivityUntil: decisionId.suspiciousMentionActivityUntil };
2026-07-20 16:05:17 +00:00
return true;
},
AUTO_MODERATION_MENTION_RAID_NOTICE_DISMISS: function handleMentionRaidNoticeDismiss(arg0) {
2026-07-23 10:11:24 +00:00
delete tmp[tmp2];
2026-07-20 16:05:17 +00:00
return true;
}
});
const size = fn(2);
let result = size.fileFinishedImporting("modules/guild_automod/GuildAutomodMessageStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default guildAutomodMessageStore;