decord/source/modules/messages/MessageAttachmentUtils.tsx

188 lines
7.6 KiB
TypeScript
Raw Normal View History

2026-08-05 07:35:12 +00:00
// Module ID: 11287
// Function ID: 11288
2026-07-20 16:05:17 +00:00
// Name: getForumPostShouldObscure
2026-08-05 07:35:12 +00:00
// Dependencies: [3883, 676, 5803, 5808, 5807, 1384, 8188, 647, 3928, 10881, 1236, 2]
2026-07-20 16:05:17 +00:00
// Exports: getObscureReasonForAttachment, getObscureReasonForEmbed, getObscureReasonForUnfurledMediaItem, getObscuredAlt, useShouldObscure
2026-08-05 07:35:12 +00:00
// Module 11287 (getForumPostShouldObscure)
2026-07-29 08:29:29 +00:00
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
2026-07-23 10:11:24 +00:00
import ME from "ME";
2026-07-29 08:29:29 +00:00
let c4;
let c5;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function getForumPostShouldObscure(media, arg1, enabledHarmTypesBitmaskForChannelType) {
if (null == media) {
const items = [false, undefined];
return items;
} else {
const type = media.type;
2026-08-05 07:35:12 +00:00
if (require(8188) /* isMediaAttachment */.ForumPostMediaTypes.EMBED === type) {
2026-07-29 08:29:29 +00:00
let obj = { type: null, media: null };
2026-08-05 07:35:12 +00:00
obj[0] = tmp4(5808).ObscuredMediaTypes.Embed;
2026-07-29 08:29:29 +00:00
obj[1] = media;
let tmp = obj;
2026-08-05 07:35:12 +00:00
} else if (tmp4(8188).ForumPostMediaTypes.ATTACHMENT === type) {
2026-07-29 08:29:29 +00:00
obj = { type: null, media: null };
2026-08-05 07:35:12 +00:00
obj[0] = tmp4(5808).ObscuredMediaTypes.Attachment;
2026-07-29 08:29:29 +00:00
obj[1] = media;
tmp = obj;
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
tmp = null;
2026-08-05 07:35:12 +00:00
if (tmp4(8188).ForumPostMediaTypes.COMPONENT === type) {
2026-07-29 08:29:29 +00:00
obj = { type: null, media: null };
2026-08-05 07:35:12 +00:00
obj[0] = tmp4(5808).ObscuredMediaTypes.GenericMedia;
2026-07-29 08:29:29 +00:00
obj[1] = media.srcUnfurledMediaItem;
tmp = obj;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
if (null == tmp) {
2026-07-20 16:05:17 +00:00
const items1 = [false, undefined];
return items1;
} else {
2026-08-05 07:35:12 +00:00
let tmp4Result = tmp4(5803);
2026-07-29 08:29:29 +00:00
const mediaObscuredReasonFromBitmask = tmp4Result.getMediaObscuredReasonFromBitmask(tmp, enabledHarmTypesBitmaskForChannelType);
2026-08-05 07:35:12 +00:00
tmp4Result = tmp4(5803);
2026-07-20 16:05:17 +00:00
if (mediaObscuredReasonFromBitmask.length > 0) {
const items2 = [true, mediaObscuredReasonFromBitmask[0]];
2026-07-29 08:29:29 +00:00
let tmp2 = items2;
2026-07-20 16:05:17 +00:00
} else {
const items3 = [, ];
2026-07-29 08:29:29 +00:00
if (tmp8) {
2026-07-20 16:05:17 +00:00
items3[0] = true;
2026-08-05 07:35:12 +00:00
items3[1] = tmp4(5807).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
2026-07-29 08:29:29 +00:00
tmp2 = items3;
2026-07-20 16:05:17 +00:00
} else if (media.spoiler) {
items3[0] = arg1;
2026-08-05 07:35:12 +00:00
items3[1] = tmp4(5807).ObscureReason.SPOILER;
2026-07-29 08:29:29 +00:00
tmp2 = items3;
2026-07-20 16:05:17 +00:00
} else {
items3[0] = false;
items3[1] = undefined;
2026-07-29 08:29:29 +00:00
tmp2 = items3;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
}
}
}
2026-07-29 08:29:29 +00:00
({ MessageAttachmentFlags: c4, Permissions: c5 } = ME);
const result = require("getEligibleHarmTypesConfigsForContext").fileFinishedImporting("modules/messages/MessageAttachmentUtils.tsx");
2026-07-20 16:05:17 +00:00
export const getObscureReasonForAttachment = function getObscureReasonForAttachment(attachment, enabledHarmTypesBitmaskForChannelAndAuthorId) {
const flags = attachment.flags;
let num = 0;
if (undefined !== flags) {
num = flags;
}
2026-08-05 07:35:12 +00:00
let obj = require(5803) /* getEligibleHarmTypesConfigsForContext */;
obj = { type: require(5808) /* ContentHarmTypeChannel */.ObscuredMediaTypes.Attachment, media: attachment };
2026-07-20 16:05:17 +00:00
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj, enabledHarmTypesBitmaskForChannelAndAuthorId);
2026-08-05 07:35:12 +00:00
require(5803) /* getEligibleHarmTypesConfigsForContext */;
obj = { type: require(5808) /* ContentHarmTypeChannel */.ObscuredMediaTypes.Attachment, media: attachment };
2026-07-20 16:05:17 +00:00
if (mediaObscuredReasonFromBitmask.length > 0) {
let first = mediaObscuredReasonFromBitmask[0];
2026-07-29 08:29:29 +00:00
} else if (tmp4) {
2026-08-05 07:35:12 +00:00
first = tmp(5807).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
2026-07-20 16:05:17 +00:00
} else {
first = null;
2026-07-29 08:29:29 +00:00
if (tmpResult.hasFlag(num, constants.IS_SPOILER)) {
2026-08-05 07:35:12 +00:00
first = tmp(5807).ObscureReason.SPOILER;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmpResult = tmp(1384);
2026-07-20 16:05:17 +00:00
}
return first;
};
2026-07-29 08:29:29 +00:00
export const getObscureReasonForEmbed = function getObscureReasonForEmbed(embed, message, flag2, getUncachedChannelPermissions) {
2026-08-05 07:35:12 +00:00
let obj = require(5803) /* getEligibleHarmTypesConfigsForContext */;
obj = { type: require(5808) /* ContentHarmTypeChannel */.ObscuredMediaTypes.Embed, media: embed };
2026-07-29 08:29:29 +00:00
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj, getUncachedChannelPermissions);
const bot = message.author.bot;
let isMediaScanPendingResult = !bot;
if (!bot) {
obj = { type: null, media: null };
2026-08-05 07:35:12 +00:00
obj[0] = tmp(5808).ObscuredMediaTypes.Embed;
2026-07-29 08:29:29 +00:00
obj[1] = embed;
2026-08-05 07:35:12 +00:00
isMediaScanPendingResult = tmp(5803).isMediaScanPending(obj, getUncachedChannelPermissions);
const tmpResult = tmp(5803);
2026-07-20 16:05:17 +00:00
}
if (mediaObscuredReasonFromBitmask.length > 0) {
let first = mediaObscuredReasonFromBitmask[0];
} else if (isMediaScanPendingResult) {
2026-08-05 07:35:12 +00:00
first = tmp(5807).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
2026-07-20 16:05:17 +00:00
} else {
first = null;
2026-07-29 08:29:29 +00:00
if (flag2) {
2026-08-05 07:35:12 +00:00
first = tmp(5807).ObscureReason.SPOILER;
2026-07-20 16:05:17 +00:00
}
}
return first;
};
2026-07-29 08:29:29 +00:00
export const getObscureReasonForUnfurledMediaItem = function getObscureReasonForUnfurledMediaItem(media, enabledContentHarmTypeFlags, spoiler, isBot) {
let flag = spoiler;
if (spoiler === undefined) {
2026-07-20 16:05:17 +00:00
flag = false;
}
2026-07-29 08:29:29 +00:00
let flag2 = isBot;
if (isBot === undefined) {
2026-07-20 16:05:17 +00:00
flag2 = false;
}
2026-08-05 07:35:12 +00:00
let obj = require(5803) /* getEligibleHarmTypesConfigsForContext */;
obj = { type: require(5808) /* ContentHarmTypeChannel */.ObscuredMediaTypes.GenericMedia, media };
2026-07-20 16:05:17 +00:00
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj, enabledContentHarmTypeFlags);
let isMediaScanPendingResult = !flag2;
2026-07-29 08:29:29 +00:00
if (!flag2) {
obj = { type: null, media: null };
2026-08-05 07:35:12 +00:00
obj[0] = tmp(5808).ObscuredMediaTypes.GenericMedia;
2026-07-29 08:29:29 +00:00
obj[1] = media;
2026-08-05 07:35:12 +00:00
isMediaScanPendingResult = tmp(5803).isMediaScanPending(obj, enabledContentHarmTypeFlags);
const tmpResult = tmp(5803);
2026-07-20 16:05:17 +00:00
}
2026-08-05 07:35:12 +00:00
if (mediaObscuredReasonFromBitmask.includes(require(5807) /* ObscureReason */.ObscureReason.EXPLICIT_CONTENT)) {
let EXPLICIT_CONTENT = tmp(5807).ObscureReason.EXPLICIT_CONTENT;
} else if (mediaObscuredReasonFromBitmask.includes(tmp(5807).ObscureReason.GORE_CONTENT)) {
EXPLICIT_CONTENT = tmp(5807).ObscureReason.GORE_CONTENT;
} else if (mediaObscuredReasonFromBitmask.includes(tmp(5807).ObscureReason.SELF_HARM_CONTENT)) {
EXPLICIT_CONTENT = tmp(5807).ObscureReason.SELF_HARM_CONTENT;
2026-07-20 16:05:17 +00:00
} else if (isMediaScanPendingResult) {
2026-08-05 07:35:12 +00:00
EXPLICIT_CONTENT = tmp(5807).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
2026-07-20 16:05:17 +00:00
} else {
EXPLICIT_CONTENT = null;
if (flag) {
2026-08-05 07:35:12 +00:00
EXPLICIT_CONTENT = tmp(5807).ObscureReason.SPOILER;
2026-07-20 16:05:17 +00:00
}
}
return EXPLICIT_CONTENT;
};
export { getForumPostShouldObscure };
export const useShouldObscure = function useShouldObscure(channel) {
2026-07-23 10:11:24 +00:00
channel = channel.channel;
2026-07-29 08:29:29 +00:00
const items = [getUncachedChannelPermissions];
const stateFromStores = channel(647).useStateFromStores(items, () => {
2026-07-20 16:05:17 +00:00
let canResult = null != channel;
if (canResult) {
2026-07-29 08:29:29 +00:00
canResult = outer1_3.can(outer1_5.MANAGE_MESSAGES, tmp);
2026-07-20 16:05:17 +00:00
}
return canResult;
});
2026-08-05 07:35:12 +00:00
const RenderSpoilers = channel(3928).RenderSpoilers;
2026-07-20 16:05:17 +00:00
const setting = RenderSpoilers.useSetting();
2026-07-29 08:29:29 +00:00
const obj = channel(647);
2026-08-05 07:35:12 +00:00
const enabledHarmTypesBitmaskForChannelType = channel(5803).getEnabledHarmTypesBitmaskForChannelType(channel(5808).ContentHarmTypeChannel.GUILD);
return getForumPostShouldObscure(channel.media, !importDefault(10881)(setting, stateFromStores), enabledHarmTypesBitmaskForChannelType);
2026-07-20 16:05:17 +00:00
};
export const getObscuredAlt = function getObscuredAlt(obscureReason) {
2026-08-05 07:35:12 +00:00
if (require(5807) /* ObscureReason */.ObscureReason.EXPLICIT_CONTENT !== obscureReason) {
if (tmp(5807).ObscureReason.GORE_CONTENT !== obscureReason) {
if (tmp(5807).ObscureReason.SELF_HARM_CONTENT !== obscureReason) {
if (tmp(5807).ObscureReason.SPOILER === obscureReason) {
2026-07-29 08:29:29 +00:00
const intl = tmp(1236).intl;
return intl.string(tmp(1236).t["XpfDH+"]);
2026-07-20 16:05:17 +00:00
}
}
}
}
2026-07-29 08:29:29 +00:00
const intl2 = tmp(1236).intl;
return intl2.string(require(1236) /* getSystemLocale */.t.SEgHFh);
2026-07-20 16:05:17 +00:00
};