80 lines
2.8 KiB
TypeScript
80 lines
2.8 KiB
TypeScript
// Metro module 11555 (f11556).
|
|
import GuildMemberStore, { getGuildIdFromCommunicationDisabledUserKey, getUserIdFromCommunicationDisabledUserKey } from "../../stores/GuildMemberStore";
|
|
import UserStore from "../../stores/UserStore";
|
|
import { isMemberCommunicationDisabled, isCommunicationDisabled } from "./CommunicationDisabledUtils";
|
|
import Dispatcher from "../../Dispatcher";
|
|
import AutomaticLifecycleManager from "../../lib/AutomaticLifecycleManager";
|
|
let c7882_7;
|
|
const clearGuildMemberTimeout = function clearGuildMemberTimeout(guildIdFromCommunicationDisabledUserKey, userIdFromCommunicationDisabledUserKey) {
|
|
const member = GuildMemberStore.getMember(guildIdFromCommunicationDisabledUserKey, userIdFromCommunicationDisabledUserKey);
|
|
const user = UserStore.getUser(userIdFromCommunicationDisabledUserKey);
|
|
if (member != null && user != null && !isMemberCommunicationDisabled(member)) {
|
|
let nick = member.nick;
|
|
if (nick == null) {
|
|
nick = user.username;
|
|
}
|
|
let avatar = member.avatar;
|
|
if (avatar == null) {
|
|
avatar = void 0;
|
|
}
|
|
const avatarDecoration = member.avatarDecoration != null ? {
|
|
...member.avatarDecoration
|
|
} : void 0;
|
|
let premiumSince = member.premiumSince;
|
|
if (premiumSince == null) {
|
|
premiumSince = void 0;
|
|
}
|
|
let isPending = member.isPending;
|
|
if (isPending == null) {
|
|
isPending = false;
|
|
}
|
|
let email = user.email;
|
|
if (email == null) {
|
|
email = void 0;
|
|
}
|
|
let phone = user.phone;
|
|
if (phone == null) {
|
|
phone = void 0;
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "GUILD_MEMBER_UPDATE",
|
|
...{
|
|
...member,
|
|
guildId: guildIdFromCommunicationDisabledUserKey,
|
|
nick,
|
|
avatar,
|
|
avatarDecoration,
|
|
premiumSince,
|
|
isPending,
|
|
user: {
|
|
...user,
|
|
email,
|
|
phone
|
|
},
|
|
communicationDisabledUntil: null
|
|
}
|
|
});
|
|
}
|
|
};
|
|
c7882_7 = null;
|
|
class CommunicationDisabledManager extends AutomaticLifecycleManager {
|
|
clearGuildMemberTimeout = clearGuildMemberTimeout;
|
|
_initialize() {
|
|
c7882_7 = setInterval(() => {
|
|
const communicationDisabledUserMap = GuildMemberStore.getCommunicationDisabledUserMap();
|
|
Object.keys(communicationDisabledUserMap).forEach((item) => {
|
|
const guildIdFromCommunicationDisabledUserKey = getGuildIdFromCommunicationDisabledUserKey(item);
|
|
const userIdFromCommunicationDisabledUserKey = getUserIdFromCommunicationDisabledUserKey(item);
|
|
if (!isCommunicationDisabled(communicationDisabledUserMap[item])) {
|
|
clearGuildMemberTimeout(guildIdFromCommunicationDisabledUserKey, userIdFromCommunicationDisabledUserKey);
|
|
}
|
|
});
|
|
}, 10000);
|
|
}
|
|
_terminate() {
|
|
clearInterval(c7882_7);
|
|
}
|
|
}
|
|
const communicationDisabledManager = new CommunicationDisabledManager();
|
|
export default communicationDisabledManager;
|