decord/source/modules/forwarding/canForwardMessage.tsx

117 lines
3.8 KiB
TypeScript
Raw Normal View History

2026-08-14 17:33:39 +00:00
// Module ID: 11114
// Function ID: 11115
2026-07-20 16:05:17 +00:00
// Name: canForwardMessage
2026-08-12 06:57:52 +00:00
// Dependencies: [1981, 1391, 1910, 3989, 676, 1403, 589, 2]
2026-07-20 16:05:17 +00:00
// Exports: useCanForwardMessage
2026-08-14 17:33:39 +00:00
// Module 11114 (canForwardMessage)
2026-07-29 08:29:29 +00:00
import isSubscriptionGated from "isSubscriptionGated";
import ensureGuildLoaded from "ensureGuildLoaded";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
2026-07-23 10:11:24 +00:00
import ME from "ME";
2026-07-20 16:05:17 +00:00
let MessageFlags;
2026-07-29 08:29:29 +00:00
let c9;
2026-07-23 10:11:24 +00:00
let closure_6;
2026-07-29 08:29:29 +00:00
let error;
let metroImportAll;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function canForwardMessage(state) {
let obj = arg1;
if (arg1 === undefined) {
2026-07-29 08:29:29 +00:00
obj = getUncachedChannelPermissions;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let obj2 = arg2;
if (arg2 === undefined) {
obj2 = isSubscriptionGated;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let obj3 = arg3;
if (arg3 === undefined) {
obj3 = ensureGuildLoaded;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let obj4 = arg4;
if (arg4 === undefined) {
obj4 = createGuildRecordFromRust;
2026-07-20 16:05:17 +00:00
}
if (null == state) {
return false;
} else {
let hasItem = state.state !== constants2.SEND_FAILED;
if (hasItem) {
const FORWARDABLE = constants3.FORWARDABLE;
hasItem = FORWARDABLE.has(state.type);
}
if (hasItem) {
hasItem = null == state.poll;
}
if (hasItem) {
hasItem = null == state.sharedClientTheme;
}
if (hasItem) {
hasItem = null == state.activity;
}
if (hasItem) {
hasItem = null == state.call;
}
if (hasItem) {
hasItem = null == state.activityInstance;
}
if (hasItem) {
2026-08-11 06:20:06 +00:00
hasItem = 0 === require(1403) /* hasFlag */.removeFlag(state.flags, closure_10);
const obj5 = require(1403) /* hasFlag */;
2026-07-20 16:05:17 +00:00
}
if (hasItem) {
const channel = obj3.getChannel(state.channel_id);
if (null != channel) {
if (!obj.can(constants4.READ_MESSAGE_HISTORY, channel)) {
if (!channel.isPrivate()) {
return false;
}
}
}
let guild_id;
2026-07-29 08:29:29 +00:00
if (channel != null) {
2026-07-20 16:05:17 +00:00
guild_id = channel.guild_id;
}
let tmp8 = null == guild_id;
if (!tmp8) {
const guild = obj4.getGuild(guild_id);
hasItem = undefined;
2026-07-29 08:29:29 +00:00
if (guild != null) {
2026-07-20 16:05:17 +00:00
const features = guild.features;
hasItem = features.has(constants.FORWARDING_DISABLED);
}
tmp8 = !hasItem;
}
if (tmp8) {
let tmp12 = null == guild_id || !obj2.isChannelOrThreadParentGated(guild_id, state.channel_id);
if (tmp12) {
2026-07-29 08:29:29 +00:00
let flag3;
if (channel != null) {
flag3 = channel.isModeratorReportChannel();
}
if (flag3 == null) {
flag3 = false;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp12 = !flag3;
2026-07-20 16:05:17 +00:00
}
tmp8 = tmp12;
}
return tmp8;
} else {
return false;
}
}
}
2026-07-29 08:29:29 +00:00
({ GuildFeatures: closure_6, MessageFlags, MessageStates: error, MessageTypesSets: metroImportAll, Permissions: c9 } = ME);
2026-08-11 06:20:06 +00:00
let closure_10 = MessageFlags.CROSSPOSTED | MessageFlags.FAILED_TO_MENTION_SOME_ROLES_IN_THREAD | MessageFlags.GUILD_FEED_HIDDEN | MessageFlags.HAS_SNAPSHOT | MessageFlags.HAS_THREAD | MessageFlags.IS_CROSSPOST | MessageFlags.IS_VOICE_MESSAGE | MessageFlags.SHOULD_SHOW_LINK_NOT_DISCORD_WARNING | MessageFlags.SUPPRESS_EMBEDS | MessageFlags.SUPPRESS_NOTIFICATIONS | MessageFlags.URGENT | MessageFlags.IS_COMPONENTS_V2 | MessageFlags.IS_GUILD_OFFICIAL | MessageFlags.IS_SCHEDULED;
2026-07-29 08:29:29 +00:00
const result = require("createGuildRecordFromRust").fileFinishedImporting("modules/forwarding/canForwardMessage.tsx");
2026-07-20 16:05:17 +00:00
export { canForwardMessage };
export const useCanForwardMessage = function useCanForwardMessage(message) {
2026-07-23 10:11:24 +00:00
const _require = message;
2026-07-29 08:29:29 +00:00
const items = [getUncachedChannelPermissions, isSubscriptionGated, ensureGuildLoaded, createGuildRecordFromRust];
return _require(589).useStateFromStores(items, () => outer1_11(closure_0, outer1_5, outer1_2, outer1_3, outer1_4));
2026-07-20 16:05:17 +00:00
};