decord/source/modules/markup/MarkupChannelMentionRule.tsx
2026-08-05 07:35:12 +00:00

486 lines
17 KiB
TypeScript

// Module ID: 4695
// Function ID: 4696
// Name: getChannel
// Dependencies: [1933, 1372, 1862, 3883, 3892, 1874, 676, 1856, 1416, 1236, 4696, 4437, 4445, 4697, 4446, 4694, 3954, 2]
// Exports: getGuildIdFromChannelId
// Module 4695 (getChannel)
import isSubscriptionGated from "isSubscriptionGated";
import ensureGuildLoaded from "ensureGuildLoaded";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
import upsertRelationship from "upsertRelationship";
import mergeGuildAvatar from "mergeGuildAvatar";
import ME from "ME";
let c10;
let c9;
const require = arg1;
function getChannel(id, arr) {
const _require = id;
const channel = store.getChannel(id);
const isSubscriptionGated = _require(4696).getChannelRoleSubscriptionStatus(id, store, isSubscriptionGated, getUncachedChannelPermissions).isSubscriptionGated;
const obj2 = _require(4696);
let str = _require(4437).getMentionIconType(channel);
if (str == null) {
str = "text";
}
if (null != arr) {
const found = arr.find((id) => id.id === closure_0);
if (null != found) {
let obj = { type: null, id: null, guildId: null, name: null, isDm: null, isForumPost: null, isMentionable: true, canViewChannel: true, roleSubscriptionGated: null, iconType: null, parentId: null };
({ type: obj8[0], id: obj8[1], guild_id: obj8[2], name: obj8[3] } = found);
obj[4] = null != channel && channel.isPrivate();
const tmp7 = null != channel && channel.isPrivate();
obj[5] = null != channel && channel.isForumPost();
obj[8] = isSubscriptionGated;
obj[9] = str;
let parent_id;
if (channel != null) {
parent_id = channel.parent_id;
}
obj[10] = parent_id;
return obj;
}
}
let tmp4 = null;
if (null != channel) {
obj = { type: null, id: null, guildId: null, name: null, isDm: null, isForumPost: null, isMentionable: null, canViewChannel: null, roleSubscriptionGated: null, iconType: null, parentId: null };
({ type: obj4[0], id: obj4[1], guild_id: obj4[2] } = channel);
let tmpResult = tmp(4445);
obj[3] = tmpResult.computeChannelName(channel, mergeGuildAvatar, upsertRelationship);
obj[4] = channel.isPrivate();
obj[5] = channel.isForumPost();
tmpResult = tmp(4697);
obj[6] = tmpResult.isChannelTypeMentionable(channel.type);
obj[7] = tmp(4446).canViewChannel(channel);
obj[8] = isSubscriptionGated;
obj[9] = str;
obj[10] = channel.parent_id;
tmp4 = obj;
const tmpResult1 = tmp(4446);
}
return tmp4;
}
function handleUnknownChannel(guildId, channelId, messageId, arg3, originalLink) {
const guild = store2.getGuild(guildId);
let obj = { type: "channelMention", guildId, channelId, messageId, originalLink, inContent: null, content: null };
let tmp2 = null;
if (null != guild) {
let id;
if (guild != null) {
id = guild.id;
}
tmp2 = null;
if (id !== arg3) {
obj = { type: "guild", guildId: null, content: null, icon: null };
obj[1] = guild.id;
obj[2] = require(1856) /* isNullOrEmpty */.truncateText(guild.name, 32);
const obj5 = require(1856) /* isNullOrEmpty */;
obj = { id: null, icon: null, size: 40 };
({ id: obj7[0], icon: obj7[1] } = guild);
obj[3] = importDefault(1416).getGuildIconURL(obj);
const items = [obj];
tmp2 = items;
const obj6 = importDefault(1416);
}
}
obj[5] = tmp2;
const intl = require(1236) /* getSystemLocale */.intl;
const formatted = intl.string(require(1236) /* getSystemLocale */.t.zLZPmk).toLowerCase();
let obj1 = require(1856) /* isNullOrEmpty */;
obj1 = { type: "text", content: obj1.truncateText(formatted, 32) };
const items1 = [obj1];
const items2 = [{ type: "em", content: items1 }];
const items3 = [{ type: "channel", content: items2, channelType: constants.UNKNOWN, iconType: "text" }];
obj[6] = items3;
return obj;
}
function parseChannel(canViewChannel) {
if (canViewChannel.canViewChannel) {
if (canViewChannel.isMentionable) {
let obj = { type: "channelMention", channelId: null, guildId: null, messageId: null, originalLink: null };
({ id: obj5[1], guildId: obj5[2] } = canViewChannel);
obj[3] = arg1;
obj[4] = arg3;
const guild = store2.getGuild(canViewChannel.guildId);
if (null == guild) {
if (canViewChannel.isDm) {
obj = {};
const merged = Object.assign(obj);
obj.guildId = closure_10;
let obj19 = require(1856) /* isNullOrEmpty */;
const obj1 = { type: "text", content: null };
obj1[1] = obj19.truncateText(canViewChannel.name, 32);
const obj2 = { type: "channel", content: null, channelType: null, iconType: null };
const items = [obj1];
obj2[1] = items;
({ type: obj22[2], iconType: obj22[3] } = canViewChannel);
const items1 = [obj2];
obj.inContent = items1;
const obj3 = { type: "channel", content: null, iconType: null };
const items2 = [{ type: "text", content: "" }];
obj3[1] = items2;
obj3[2] = "message";
const items3 = [obj3];
obj.content = items3;
let obj6 = obj;
} else if (null != arg3) {
const obj4 = { type: "link", content: null, target: null, title: "channel" };
const obj5 = { type: "text", content: null };
obj5[1] = arg3;
const items4 = [obj5];
obj4[1] = items4;
obj4[2] = arg3;
obj6 = obj4;
} else {
const intl2 = require(1236) /* getSystemLocale */.intl;
const _HermesInternal2 = HermesInternal;
obj6 = { type: "text", content: null };
obj6[1] = "#" + intl2.string(require(1236) /* getSystemLocale */.t.J90oLW);
}
return obj6;
} else {
const obj7 = {};
const merged1 = Object.assign(obj);
const obj8 = { type: "guild", guildId: null, content: null, icon: null };
obj8[1] = guild.id;
obj8[2] = require(1856) /* isNullOrEmpty */.truncateText(guild.name, 32);
const obj26 = require(1856) /* isNullOrEmpty */;
({ id: obj28[0], icon: obj28[1] } = guild);
obj8[3] = importDefault(1416).getGuildIconURL({ id: null, icon: null, size: 40 });
const obj27 = importDefault(1416);
const obj9 = { id: null, icon: null, size: 40 };
const obj10 = { type: "text", content: null };
obj10[1] = require(1856) /* isNullOrEmpty */.truncateText(canViewChannel.name, 32);
const obj11 = { type: "channel", content: null, channelType: null, iconType: null };
const items5 = [obj10];
obj11[1] = items5;
({ type: obj31[2], iconType: obj31[3] } = canViewChannel);
const obj12 = { type: "channel", content: null, iconType: null };
const items6 = [{ type: "text", content: "" }];
obj12[1] = items6;
let str2 = "message";
if (canViewChannel.isForumPost) {
str2 = "post";
}
obj12[2] = str2;
if (canViewChannel.guildId === arg2) {
if (tmp34) {
if (canViewChannel.isForumPost) {
const channel = store.getChannel(canViewChannel.parentId);
if (null != channel) {
let tmp35Result = tmp35(4445);
const channelName = tmp35Result.computeChannelName(channel, mergeGuildAvatar, upsertRelationship);
tmp35Result = tmp35(4437);
let str3 = tmp35Result.getMentionIconType(channel);
if (str3 == null) {
str3 = "forum";
}
const obj13 = { inContent: null, content: null };
const obj14 = { type: "text", content: null };
obj14[1] = tmp35(1856).truncateText(channelName, 32);
const obj15 = { type: "channel", content: null, channelType: null, iconType: null };
const items7 = [obj14];
obj15[1] = items7;
obj15[2] = channel.type;
obj15[3] = str3;
const items8 = [obj15];
obj13[0] = items8;
const items9 = [obj11];
obj13[1] = items9;
let obj17 = obj13;
const tmp35Result1 = tmp35(1856);
}
}
const obj16 = { inContent: null, content: null };
const items10 = [obj11];
obj16[0] = items10;
const items11 = [obj12];
obj16[1] = items11;
obj17 = obj16;
}
const merged2 = Object.assign(obj17);
return obj7;
}
if (canViewChannel.guildId === arg2) {
if (!tmp34) {
obj17 = { inContent: null, content: null };
const items12 = [obj11];
obj17[1] = items12;
}
}
if (canViewChannel.guildId !== arg2) {
if (tmp34) {
let obj18 = { inContent: null, content: null };
const items13 = [obj8];
obj18[0] = items13;
let tmp11 = obj12;
if (canViewChannel.isForumPost) {
tmp11 = obj11;
}
const items14 = [tmp11];
obj18[1] = items14;
}
}
let tmp12;
if (canViewChannel.guildId !== arg2) {
if (!tmp34) {
obj19 = { inContent: null, content: null };
const items15 = [obj8];
obj19[0] = items15;
const items16 = [obj11];
obj19[1] = items16;
tmp12 = obj19;
}
}
obj18 = tmp12;
const obj29 = require(1856) /* isNullOrEmpty */;
}
} else {
const _HermesInternal = HermesInternal;
const obj20 = { type: "text", content: null };
obj20[1] = "#" + canViewChannel.name;
return obj20;
}
} else {
if (canViewChannel.roleSubscriptionGated) {
let name = canViewChannel.name;
} else {
const intl = require(1236) /* getSystemLocale */.intl;
name = intl.string(require(1236) /* getSystemLocale */.t["/YzI63"]);
}
obj = { type: "channel", content: null, channelType: null, iconType: "locked" };
const obj21 = { type: "text", content: null };
obj21[1] = name;
const items17 = [obj21];
obj[1] = items17;
if (canViewChannel.roleSubscriptionGated) {
let UNKNOWN = canViewChannel.type;
} else {
UNKNOWN = constants.UNKNOWN;
}
obj[2] = UNKNOWN;
const obj22 = { type: "channelMention", guildId: null, channelId: null, messageId: null, inContent: null, content: null };
({ guildId: obj3[1], id: obj3[2] } = canViewChannel);
obj22[3] = arg1;
const items18 = [obj];
obj22[5] = items18;
return obj22;
}
}
({ ChannelTypes: c9, ME: c10 } = ME);
let obj = { channelMention: null, channelOrMessageUrl: null, mediaPostLink: null };
obj = {
order: require("textRegexp").order,
requiredFirstCharacters: ["<"],
match(arg0) {
return /^<#(\d+)>/.exec(arg0);
},
parse(arg0, arg1, returnMentionIds) {
if (returnMentionIds.returnMentionIds) {
const obj = { type: "channelMention", id: null };
obj[1] = tmp;
return obj;
} else {
const tmp3 = getChannel(tmp, returnMentionIds.mentionChannels);
if (null == tmp3) {
const channel = store.getChannel(returnMentionIds.channelId);
let guildId;
if (channel != null) {
guildId = channel.getGuildId();
}
let tmp5Result = handleUnknownChannel(null, tmp, null, guildId);
const tmp9 = handleUnknownChannel;
} else {
const channel1 = store.getChannel(returnMentionIds.channelId);
let guildId1;
if (channel1 != null) {
guildId1 = channel1.getGuildId();
}
tmp5Result = parseChannel(tmp3, null, guildId1);
const tmp5 = parseChannel;
}
return tmp5Result;
}
}
};
obj[0] = obj;
obj = {
order: require("t").defaultRules.url.order - 0.5,
requiredFirstCharacters: ["h"],
match(arg0) {
const CHANNEL_OR_MESSAGES_URL_RE = require(4446) /* ME */.CHANNEL_OR_MESSAGES_URL_RE;
const match = CHANNEL_OR_MESSAGES_URL_RE.exec(arg0);
if (null != match) {
if (null != match[2]) {
if (obj.test(match[2])) {
return null;
}
obj = /\D/;
}
if (null != match[3]) {
if (obj2.test(match[3])) {
return null;
}
obj2 = /\D/;
}
}
return match;
},
parse(arg0, arg1, channelId) {
let tmp;
let tmp2;
let tmp3;
let tmp4;
[tmp, tmp2, tmp3, tmp4] = arg0;
if (null == tmp3) {
let obj = { type: "link", content: null, target: null, title: "channel" };
obj = { type: "text", content: null };
obj[1] = tmp;
const items = [obj];
obj[1] = items;
obj[2] = tmp;
return obj;
} else {
const tmp23 = getChannel(tmp3, null);
if (null == tmp23) {
const channel = store.getChannel(channelId.channelId);
let guildId;
if (channel != null) {
guildId = channel.getGuildId();
}
let tmp5Result = handleUnknownChannel(tmp2, tmp3, tmp4, guildId, tmp);
const tmp13 = handleUnknownChannel;
} else {
const channel1 = store.getChannel(channelId.channelId);
let guildId1;
if (channel1 != null) {
guildId1 = channel1.getGuildId();
}
tmp5Result = parseChannel(tmp23, tmp4, guildId1, tmp);
const tmp5 = parseChannel;
}
return tmp5Result;
}
}
};
obj[1] = obj;
obj[2] = {
order: require("t").defaultRules.url.order - 0.5,
requiredFirstCharacters: ["h"],
match(arg0) {
const MEDIA_POST_URL_RE = require(4446) /* ME */.MEDIA_POST_URL_RE;
return MEDIA_POST_URL_RE.exec(arg0);
},
parse(arg0, arg1, channelId) {
let tmp;
let tmp2;
let tmp3;
let tmp4;
let tmp5;
[tmp, tmp2, tmp3, tmp4, tmp5] = arg0;
if (null != tmp3) {
if (null != tmp4) {
const tmp31 = getChannel(tmp4, null);
if (null != tmp31) {
const channel = store.getChannel(channelId.channelId);
let guildId;
if (channel != null) {
guildId = channel.getGuildId();
}
return parseChannel(tmp31, tmp5, guildId, target);
} else {
const tmp30Result = tmp30(tmp3, null);
if (null != tmp30Result) {
const channel1 = store.getChannel(channelId.channelId);
let guildId1;
if (channel1 != null) {
guildId1 = channel1.getGuildId();
}
let tmp6Result = parseChannel(tmp30Result, tmp5, guildId1, target);
const tmp15 = parseChannel;
} else {
const channel2 = store.getChannel(channelId.channelId);
let guildId2;
if (channel2 != null) {
guildId2 = channel2.getGuildId();
}
tmp6Result = handleUnknownChannel(tmp2, tmp3, tmp5, guildId2, target);
const tmp6 = handleUnknownChannel;
}
return tmp6Result;
}
tmp30 = getChannel;
}
}
const content = [{ type: "text", content: target }];
return { type: "link", content, target, title: "channel" };
}
};
let obj1 = {
order: require("t").defaultRules.url.order - 0.5,
requiredFirstCharacters: ["h"],
match(arg0) {
const MEDIA_POST_URL_RE = require(4446) /* ME */.MEDIA_POST_URL_RE;
return MEDIA_POST_URL_RE.exec(arg0);
},
parse(arg0, arg1, channelId) {
let tmp;
let tmp2;
let tmp3;
let tmp4;
let tmp5;
[tmp, tmp2, tmp3, tmp4, tmp5] = arg0;
if (null != tmp3) {
if (null != tmp4) {
const tmp31 = getChannel(tmp4, null);
if (null != tmp31) {
const channel = store.getChannel(channelId.channelId);
let guildId;
if (channel != null) {
guildId = channel.getGuildId();
}
return parseChannel(tmp31, tmp5, guildId, target);
} else {
const tmp30Result = tmp30(tmp3, null);
if (null != tmp30Result) {
const channel1 = store.getChannel(channelId.channelId);
let guildId1;
if (channel1 != null) {
guildId1 = channel1.getGuildId();
}
let tmp6Result = parseChannel(tmp30Result, tmp5, guildId1, target);
const tmp15 = parseChannel;
} else {
const channel2 = store.getChannel(channelId.channelId);
let guildId2;
if (channel2 != null) {
guildId2 = channel2.getGuildId();
}
tmp6Result = handleUnknownChannel(tmp2, tmp3, tmp5, guildId2, target);
const tmp6 = handleUnknownChannel;
}
return tmp6Result;
}
tmp30 = getChannel;
}
}
const content = [{ type: "text", content: target }];
return { type: "link", content, target, title: "channel" };
}
};
const result = require("createGuildRecordFromRust").fileFinishedImporting("modules/markup/MarkupChannelMentionRule.tsx");
export default obj;
export const getGuildIdFromChannelId = function getGuildIdFromChannelId(arg0) {
const channel = store.getChannel(arg0);
let guildId;
if (channel != null) {
guildId = channel.getGuildId();
}
return guildId;
};
export { getChannel };
export { handleUnknownChannel };
export { parseChannel };