decord/source/modules/forwarding/isStaffToNonStaffForward.tsx
github-actions 20a21ad13f chore: update source for alpha 346.5
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4791.js (118.4 MB)
2026-09-11 19:12:58 +00:00

74 lines
2.4 KiB
TypeScript

// Module ID: 11778
// Function ID: 11779
// Name: isStaffToNonStaffForward
// Dependencies: [1957, 1979, 1371, 1074, 2]
// Exports: default
// Module 11778 (isStaffToNonStaffForward)
import ChannelStore from "ChannelStore" /* 1957 */;
import GuildStore from "GuildStore" /* 1979 */;
import UserStore from "UserStore" /* 1371 */;
const GuildFeatures = fn(1074).GuildFeatures;
const size = fn(2);
const result = size.fileFinishedImporting("modules/forwarding/isStaffToNonStaffForward.tsx");
export default function isStaffToNonStaffForward(channel_id, arr) {
const currentUser = UserStore.getCurrentUser();
let isStaffResult;
if (currentUser != null) {
isStaffResult = currentUser.isStaff();
}
if (isStaffResult) {
const channel = ChannelStore.getChannel(channel_id.channel_id);
let tmp4 = null != channel;
if (tmp4) {
if (channel.isPrivate()) {
let recipients = channel.recipients;
let everyResult = recipients.every((item) => {
user = user.getUser(item);
return null != user && user.isStaff();
});
} else {
let guild = GuildStore.getGuild(channel.guild_id);
everyResult = null != guild;
if (everyResult) {
let features = guild.features;
everyResult = features.has(GuildFeatures.INTERNAL_EMPLOYEE_ONLY);
}
}
let someResult = everyResult;
if (someResult) {
someResult = arr.some((item) => {
let every = channel.getChannel(item);
let tmp = null != every;
if (tmp) {
const isPrivateResult = every.isPrivate();
if (isPrivateResult) {
tmp = !isPrivateResult;
} else if (every.isPrivate()) {
const recipients = every.recipients;
every = recipients.every;
let everyResult = every((item) => {
user = user.getUser(item);
return null != user && user.isStaff();
});
} else {
guild = guild.getGuild(every.guild_id);
everyResult = null != guild;
if (everyResult) {
const features = guild.features;
everyResult = features.has(constants.INTERNAL_EMPLOYEE_ONLY);
}
}
}
return tmp;
});
}
tmp4 = someResult;
}
return tmp4;
} else {
return false;
}
};