decord/alpha/source/utils/MentionGuardUtils.tsx

117 lines
3.5 KiB
TypeScript
Raw Permalink Normal View History

2026-10-12 06:59:38 +00:00
// Module ID: 9712
// Function ID: 9713
// Name: MentionGuardUtils
2026-10-12 06:59:38 +00:00
// Dependencies: [32, 6981, 4750, 1085, 38, 7370, 2]
2026-07-20 16:05:17 +00:00
2026-10-12 06:59:38 +00:00
// Module 9712 (MentionGuardUtils)
2026-08-24 06:08:38 +00:00
import _modDef38 from "module_38" /* 38 */;
2026-10-12 06:59:38 +00:00
import MessageParserDefault from "MessageParser" /* 7370 */;
2026-10-03 08:58:59 +00:00
import _slicedToArray from "_slicedToArray" /* 32 */;
2026-10-12 06:59:38 +00:00
import ChannelMemberStore from "ChannelMemberStore" /* 6981 */;
2026-10-10 08:08:14 +00:00
import PermissionStore from "PermissionStore" /* 4750 */;
2026-10-03 08:58:59 +00:00
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let closure_1, dependencyMap, importDefault;
let hasOwnProperty;
let metroRequire;
2026-07-29 08:29:29 +00:00
function parsedItemUsesEveryoneRole(content) {
2026-08-04 21:03:28 +00:00
if (typeof content.content === "string") {
2026-07-29 08:29:29 +00:00
if ("inlineCode" !== content.type) {
if ("codeBlock" !== content.type) {
2026-07-20 16:05:17 +00:00
let match;
2026-07-29 08:29:29 +00:00
if (content.content != null) {
2026-07-20 16:05:17 +00:00
match = str3.match(regExp);
}
if (null != match) {
return _slicedToArray(match, 1)[0];
2026-07-20 16:05:17 +00:00
}
}
}
return null;
} else {
const _Array = Array;
2026-07-29 08:29:29 +00:00
if (Array.isArray(content.content)) {
content = content.content;
const obj = content[Symbol.iterator]();
while (obj !== undefined) {
let tmp7 = parsedItemUsesEveryoneRole(tmp4);
if (null != tmp7) {
obj.return();
return tmp7;
2026-07-20 16:05:17 +00:00
}
}
return null;
}
}
return null;
}
({ Permissions: hasOwnProperty, StatusTypes: metroRequire } = Constants);
2026-07-20 16:05:17 +00:00
const regExp = new RegExp(/@(:?everyone|here)/);
2026-10-03 08:58:59 +00:00
let obj = {
2026-07-20 16:05:17 +00:00
shouldShowEveryoneGuard(extractEveryoneRoleResult, getGuildId) {
2026-10-03 08:58:59 +00:00
let tmp5;
2026-07-20 16:05:17 +00:00
const guildId = getGuildId.getGuildId();
2026-08-24 06:08:38 +00:00
_modDef38(null != guildId, "isGuildChannel with null guildId");
2026-07-29 08:29:29 +00:00
importDefault = extractEveryoneRoleResult;
2026-08-24 06:08:38 +00:00
dependencyMap = 0;
2026-07-29 08:29:29 +00:00
if (getGuildId.isThread()) {
let num = getGuildId.memberCount;
if (num == null) {
num = 0;
}
2026-10-03 08:58:59 +00:00
tmp5 = num;
2026-07-29 08:29:29 +00:00
} else {
const groups = ChannelMemberStore.getProps(getGuildId.getGuildId(), getGuildId.id).groups;
2026-07-29 08:29:29 +00:00
const item = groups.forEach((id) => {
2026-10-03 08:58:59 +00:00
const tmp = "@everyone" !== importDefault && id.id === metroRequire.OFFLINE;
2026-07-29 08:29:29 +00:00
if (!tmp) {
closure_1 = closure_1 + id.count;
}
});
tmp5 = dependencyMap;
}
2026-10-03 08:58:59 +00:00
const canResult = tmp5 > 30 && PermissionStore.can(constants.MENTION_EVERYONE, getGuildId);
2026-07-20 16:05:17 +00:00
return canResult;
},
2026-07-29 08:29:29 +00:00
everyoneMemberCount(extractEveryoneRoleResult, isThread) {
2026-10-03 08:58:59 +00:00
let tmp3;
let closure_0 = extractEveryoneRoleResult;
let c1 = 0;
2026-07-29 08:29:29 +00:00
if (isThread.isThread()) {
let num = isThread.memberCount;
if (num == null) {
num = 0;
}
2026-10-03 08:58:59 +00:00
tmp3 = num;
2026-07-29 08:29:29 +00:00
} else {
const groups = ChannelMemberStore.getProps(isThread.getGuildId(), isThread.id).groups;
2026-07-29 08:29:29 +00:00
const item = groups.forEach((id) => {
2026-10-03 08:58:59 +00:00
const tmp = "@everyone" !== importDefault && id.id === metroRequire.OFFLINE;
2026-07-29 08:29:29 +00:00
if (!tmp) {
closure_1 = closure_1 + id.count;
}
});
tmp3 = c1;
}
return tmp3;
},
2026-07-20 16:05:17 +00:00
extractEveryoneRole(arg0, getGuildId) {
2026-10-03 08:58:59 +00:00
const obj = MessageParserDefault;
const parsePreprocessorResult = obj.parsePreprocessor(getGuildId, arg0);
const obj2 = parsePreprocessorResult[Symbol.iterator]();
2026-07-29 08:29:29 +00:00
while (obj2 !== undefined) {
let tmp4 = parsedItemUsesEveryoneRole(tmp2);
if (null != tmp4) {
obj2.return();
return tmp4;
2026-07-20 16:05:17 +00:00
}
}
return null;
}
};
2026-10-03 08:58:59 +00:00
const result = size.fileFinishedImporting("utils/MentionGuardUtils.tsx");
export default obj;