decord/source/modules/replies/canReplyToMessage.tsx
2026-07-21 06:55:02 +00:00

96 lines
3.1 KiB
TypeScript

// Module ID: 7656
// Function ID: 61214
// Name: hasReplyPermission
// Dependencies: []
// Exports: canReplyToMessage, useCanReplyToMessage
// Module 7656 (hasReplyPermission)
function hasReplyPermission(isPrivate, type, closure_3) {
if (isPrivate.isPrivate()) {
let canResult = !isPrivate.isSystemDM();
} else {
canResult = closure_3.can(Permissions.SEND_MESSAGES, isPrivate);
if (canResult) {
canResult = closure_3.can(Permissions.READ_MESSAGE_HISTORY, isPrivate);
}
}
if (canResult) {
const REPLYABLE = type(dependencyMap[5]).MessageTypesSets.REPLYABLE;
canResult = REPLYABLE.has(type.type);
}
return canResult;
}
function _canReplyToMessage(isArchivedThread, hasFlag, stateFromStores, arg3, canUnarchiveThread) {
let tmp = stateFromStores;
const hasFlagResult = hasFlag.hasFlag(constants.EPHEMERAL);
const tmp3 = hasFlag.state === constants2.SENT;
if (tmp) {
tmp = tmp3;
}
if (tmp) {
tmp = !hasFlagResult;
}
if (tmp) {
tmp = !arg3;
}
if (tmp) {
tmp = tmp4;
}
return tmp;
}
let closure_2 = importDefault(dependencyMap[0]);
let closure_3 = importDefault(dependencyMap[1]);
let closure_4 = importDefault(dependencyMap[2]);
({ MessageFlags: closure_5, MessageStates: closure_6 } = arg1(dependencyMap[3]));
const Permissions = arg1(dependencyMap[4]).Permissions;
const tmp2 = arg1(dependencyMap[3]);
const result = arg1(dependencyMap[9]).fileFinishedImporting("modules/replies/canReplyToMessage.tsx");
export const useCanReplyToMessage = function useCanReplyToMessage(stateFromStores, message) {
message = stateFromStores;
const dependencyMap = message;
const canUnarchiveThread = message(dependencyMap[6]).useCanUnarchiveThread(stateFromStores);
const obj = message(dependencyMap[6]);
let guildId;
if (null != stateFromStores) {
guildId = stateFromStores.getGuildId();
}
let tmp3;
if (null != guildId) {
tmp3 = guildId;
}
const tmp4 = callback(message(dependencyMap[7]).useCurrentUserCommunicationDisabled(tmp3), 2)[1];
const obj2 = message(dependencyMap[7]);
const items = [closure_3];
stateFromStores = message(dependencyMap[8]).useStateFromStores(items, () => {
let tmp = null != arg0;
if (tmp) {
tmp = null != arg1;
}
if (tmp) {
tmp = callback(arg0, arg1, closure_3);
}
return tmp;
});
let tmp6 = null != stateFromStores && null != message;
if (tmp6) {
tmp6 = _canReplyToMessage(stateFromStores, message, stateFromStores, tmp4, canUnarchiveThread);
}
return tmp6;
};
export const canReplyToMessage = function canReplyToMessage(channel, message) {
const obj = message(dependencyMap[6]);
const canUnarchiveThreadResult = message(dependencyMap[6]).canUnarchiveThread(channel);
const currentUser = currentUser.getCurrentUser();
const tmp2 = hasReplyPermission(channel, message, closure_3);
let id;
if (null != currentUser) {
id = currentUser.id;
}
const guildId = channel.getGuildId();
let tmp6;
if (null != guildId) {
tmp6 = guildId;
}
return _canReplyToMessage(channel, message, tmp2, callback(message(dependencyMap[7]).userCommunicationDisabled(id, tmp6), 2)[1], canUnarchiveThreadResult);
};