decord/source/modules/reactions/canReactToMessage.tsx

67 lines
2.4 KiB
TypeScript
Raw Normal View History

// Module ID: 8022
// Function ID: 8023
// Name: canReactToMessage
// Dependencies: [2021, 5463, 4243, 1371, 1074, 8023, 1384, 4231, 504, 2]
2026-07-20 16:05:17 +00:00
// Exports: canReactToMessage, useCanReactToMessage
// Module 8022 (canReactToMessage)
import FlagUtils from "FlagUtils" /* 1384 */;
import CommunicationDisabledUtils from "CommunicationDisabledUtils" /* 4231 */;
import canAddNewReactionsDefault from "canAddNewReactions" /* 8023 */;
import GuildMemberStore from "GuildMemberStore" /* 2021 */;
import GuildVerificationStore from "GuildVerificationStore" /* 5463 */;
import PermissionStore from "PermissionStore" /* 4243 */;
import UserStore from "UserStore" /* 1371 */;
2026-07-23 10:11:24 +00:00
const require = globalThis.__r;
require = fn;
2026-07-20 16:05:17 +00:00
function canReactToMessageInternal(state, getGuildId, items) {
2026-08-25 06:04:03 +00:00
[obj, obj2] = items;
2026-07-20 16:05:17 +00:00
const guildId = getGuildId.getGuildId();
const currentUser = obj.getCurrentUser();
let member = null;
if (null != guildId) {
let id;
2026-07-29 08:29:29 +00:00
if (currentUser != null) {
2026-07-20 16:05:17 +00:00
id = currentUser.id;
}
member = null;
if (null != id) {
member = obj2.getMember(guildId, currentUser.id);
}
}
let tmp6 = canAddNewReactionsDefault(getGuildId) && !getGuildId.isArchivedLockedThread();
2026-08-25 06:04:03 +00:00
if (tmp6) {
tmp6 = state.state !== constants.SEND_FAILED;
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
if (tmp6) {
tmp6 = state.type !== constants2.THREAD_STARTER_MESSAGE;
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
if (tmp6) {
tmp6 = !FlagUtils.hasFlag(state.flags, constants3.EPHEMERAL);
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
if (tmp6) {
tmp6 = !CommunicationDisabledUtils.isMemberCommunicationDisabled(member);
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
return tmp6;
2026-07-20 16:05:17 +00:00
}
const Constants = fn(1074);
({ MessageStates: closure_7, MessageTypes: closure_8, MessageFlags: closure_9 } = Constants);
const size = fn(2);
const result = size.fileFinishedImporting("modules/reactions/canReactToMessage.tsx");
2026-07-20 16:05:17 +00:00
export const canReactToMessage = function canReactToMessage(message, channel) {
const items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
2026-07-20 16:05:17 +00:00
return canReactToMessageInternal(message, channel, items);
};
export const useCanReactToMessage = function useCanReactToMessage(arg0, arg1) {
_require = arg0;
2026-08-25 06:04:03 +00:00
closure_1 = arg1;
let items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
return require("initialize").useStateFromStores(items, () => {
const items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
return canReactToMessageInternal(closure_0, closure_1, items);
2026-07-20 16:05:17 +00:00
});
};