|
|
|
@ -140,20 +140,20 @@ module.exports = (_ => {
|
|
|
|
|
}});
|
|
|
|
|
|
|
|
|
|
if (BDFDB.LibraryModules.AutocompleteOptions && BDFDB.LibraryModules.AutocompleteOptions.AUTOCOMPLETE_OPTIONS) BDFDB.PatchUtils.patch(this, BDFDB.LibraryModules.AutocompleteOptions.AUTOCOMPLETE_OPTIONS.MENTIONS, "queryResults", {after: e => {
|
|
|
|
|
if (settings.removeAutocomplete) e.returnValue.users = e.returnValue.users.filter(n => !n.user || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.user.id));
|
|
|
|
|
if (settings.removeAutocomplete) e.returnValue.users = e.returnValue.users.filter(n => !n.user || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.user.id));
|
|
|
|
|
}});
|
|
|
|
|
|
|
|
|
|
let muteTimeout;
|
|
|
|
|
let channelId = BDFDB.LibraryModules.CurrentVoiceUtils.getChannelId();
|
|
|
|
|
let connectedUsers = BDFDB.ObjectUtils.filter(BDFDB.LibraryModules.VoiceUtils.getVoiceStates(BDFDB.LibraryModules.CurrentVoiceUtils.getGuildId()), n => n && n.channelId == channelId && !BDFDB.LibraryModules.FriendUtils.isBlocked(n.userId));
|
|
|
|
|
let connectedUsers = BDFDB.ObjectUtils.filter(BDFDB.LibraryModules.VoiceUtils.getVoiceStates(BDFDB.LibraryModules.CurrentVoiceUtils.getGuildId()), n => n && n.channelId == channelId && !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.userId));
|
|
|
|
|
BDFDB.PatchUtils.patch(this, BDFDB.LibraryModules.SoundUtils, "playSound", {instead: e => {
|
|
|
|
|
let type = e.methodArguments[0];
|
|
|
|
|
if (settings.disableVoiceNotifications && type == "user_join" || type == "user_leave" || type == "user_moved") {
|
|
|
|
|
channelId = BDFDB.LibraryModules.CurrentVoiceUtils.getChannelId();
|
|
|
|
|
if (channelId) {
|
|
|
|
|
let allConnectedUsers = BDFDB.ObjectUtils.filter(BDFDB.LibraryModules.VoiceUtils.getVoiceStates(BDFDB.LibraryModules.CurrentVoiceUtils.getGuildId()), n => n && n.channelId == channelId);
|
|
|
|
|
let unblockedUsers = BDFDB.ObjectUtils.filter(allConnectedUsers, n => n && !BDFDB.LibraryModules.FriendUtils.isBlocked(n.userId));
|
|
|
|
|
let unmutedBlockedUsers = BDFDB.ObjectUtils.toArray(allConnectedUsers).filter(n => n && BDFDB.LibraryModules.FriendUtils.isBlocked(n.userId) && !BDFDB.LibraryModules.MediaDeviceUtils.isLocalMute(n.userId));
|
|
|
|
|
let unblockedUsers = BDFDB.ObjectUtils.filter(allConnectedUsers, n => n && !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.userId));
|
|
|
|
|
let unmutedBlockedUsers = BDFDB.ObjectUtils.toArray(allConnectedUsers).filter(n => n && BDFDB.LibraryModules.RelationshipStore.isBlocked(n.userId) && !BDFDB.LibraryModules.MediaDeviceUtils.isLocalMute(n.userId));
|
|
|
|
|
if (unmutedBlockedUsers.length) {
|
|
|
|
|
BDFDB.TimeUtils.clear(muteTimeout);
|
|
|
|
|
muteTimeout = BDFDB.TimeUtils.timeout(_ => {
|
|
|
|
@ -234,7 +234,7 @@ module.exports = (_ => {
|
|
|
|
|
let messages = messagesIns.props.messages;
|
|
|
|
|
messagesIns.props.messages = new BDFDB.DiscordObjects.Messages(messages);
|
|
|
|
|
for (let key in messages) messagesIns.props.messages[key] = messages[key];
|
|
|
|
|
messagesIns.props.messages._array = [].concat(messagesIns.props.messages._array.filter(n => !n.author || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.author.id)));
|
|
|
|
|
messagesIns.props.messages._array = [].concat(messagesIns.props.messages._array.filter(n => !n.author || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.author.id)));
|
|
|
|
|
if (messagesIns.props.oldestUnreadMessageId && messagesIns.props.messages._array.every(n => n.id != messagesIns.props.oldestUnreadMessageId)) messagesIns.props.oldestUnreadMessageId = null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -243,7 +243,7 @@ module.exports = (_ => {
|
|
|
|
|
processMessage (e) {
|
|
|
|
|
if (settings.removeReplies) {
|
|
|
|
|
let repliedMessage = e.instance.props.childrenRepliedMessage;
|
|
|
|
|
if (repliedMessage && repliedMessage.props && repliedMessage.props.children && repliedMessage.props.children.props && repliedMessage.props.children.props.referencedMessage && repliedMessage.props.children.props.referencedMessage.message && repliedMessage.props.children.props.referencedMessage.message.author && BDFDB.LibraryModules.FriendUtils.isBlocked(repliedMessage.props.children.props.referencedMessage.message.author.id)) {
|
|
|
|
|
if (repliedMessage && repliedMessage.props && repliedMessage.props.children && repliedMessage.props.children.props && repliedMessage.props.children.props.referencedMessage && repliedMessage.props.children.props.referencedMessage.message && repliedMessage.props.children.props.referencedMessage.message.author && BDFDB.LibraryModules.RelationshipStore.isBlocked(repliedMessage.props.children.props.referencedMessage.message.author.id)) {
|
|
|
|
|
delete e.instance.props.childrenRepliedMessage;
|
|
|
|
|
let header = e.instance.props.childrenHeader;
|
|
|
|
|
if (header && header.props) {
|
|
|
|
@ -257,16 +257,16 @@ module.exports = (_ => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processChannelPins (e) {
|
|
|
|
|
if (settings.removePinnedMessages && e.returnvalue.props && e.returnvalue.props.children && e.returnvalue.props.children.props && BDFDB.ArrayUtils.is(e.returnvalue.props.children.props.messages)) e.returnvalue.props.children.props.messages = e.returnvalue.props.children.props.messages.filter(n => !n || !n.author || !n.author.id || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.author.id));
|
|
|
|
|
if (settings.removePinnedMessages && e.returnvalue.props && e.returnvalue.props.children && e.returnvalue.props.children.props && BDFDB.ArrayUtils.is(e.returnvalue.props.children.props.messages)) e.returnvalue.props.children.props.messages = e.returnvalue.props.children.props.messages.filter(n => !n || !n.author || !n.author.id || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.author.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processRecentMentions (e) {
|
|
|
|
|
if (settings.removeInbox && BDFDB.ArrayUtils.is(e.returnvalue.props.messages)) e.returnvalue.props.messages = e.returnvalue.props.messages.filter(n => !n || !n.author || !n.author.id || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.author.id));
|
|
|
|
|
if (settings.removeInbox && BDFDB.ArrayUtils.is(e.returnvalue.props.messages)) e.returnvalue.props.messages = e.returnvalue.props.messages.filter(n => !n || !n.author || !n.author.id || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.author.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processReactions (e) {
|
|
|
|
|
if (settings.removeReactions && e.returnvalue.props.children && BDFDB.ArrayUtils.is(e.returnvalue.props.children[0])) {
|
|
|
|
|
let updateTimeout, relationshipCount = BDFDB.LibraryModules.FriendUtils.getRelationshipCount();
|
|
|
|
|
let updateTimeout, relationshipCount = BDFDB.LibraryModules.RelationshipStore.getRelationshipCount();
|
|
|
|
|
if (cachedChannelId != e.instance.props.message.channel_id) {
|
|
|
|
|
cachedReactions = {};
|
|
|
|
|
cachedChannelId = e.instance.props.message.channel_id;
|
|
|
|
@ -283,7 +283,7 @@ module.exports = (_ => {
|
|
|
|
|
if (!reactions || !reactions.length) return;
|
|
|
|
|
let someBlocked = false;
|
|
|
|
|
let filteredReactions = reactions.filter(n => {
|
|
|
|
|
let isBlocked = n && BDFDB.LibraryModules.FriendUtils.isBlocked(n.id);
|
|
|
|
|
let isBlocked = n && BDFDB.LibraryModules.RelationshipStore.isBlocked(n.id);
|
|
|
|
|
someBlocked = someBlocked || isBlocked;
|
|
|
|
|
return !isBlocked;
|
|
|
|
|
});
|
|
|
|
@ -308,7 +308,7 @@ module.exports = (_ => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processReactorsComponent (e) {
|
|
|
|
|
if (settings.removeReactions && BDFDB.ArrayUtils.is(e.instance.props.reactors)) e.instance.props.reactors = e.instance.props.reactors.filter(n => !n || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.id));
|
|
|
|
|
if (settings.removeReactions && BDFDB.ArrayUtils.is(e.instance.props.reactors)) e.instance.props.reactors = e.instance.props.reactors.filter(n => !n || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processChannelMembers (e) {
|
|
|
|
@ -319,7 +319,7 @@ module.exports = (_ => {
|
|
|
|
|
for (let i in e.instance.props.rows) {
|
|
|
|
|
let row = e.instance.props.rows[i];
|
|
|
|
|
if (row.type != "MEMBER") newRows.push(row);
|
|
|
|
|
else if (!row.user || !BDFDB.LibraryModules.FriendUtils.isBlocked(row.user.id)) newRows.push(row);
|
|
|
|
|
else if (!row.user || !BDFDB.LibraryModules.RelationshipStore.isBlocked(row.user.id)) newRows.push(row);
|
|
|
|
|
else {
|
|
|
|
|
let found = false, rowIndex = i - 1;
|
|
|
|
|
while (!found && rowIndex > -1) {
|
|
|
|
@ -346,46 +346,46 @@ module.exports = (_ => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processPrivateChannelRecipients (e) {
|
|
|
|
|
if (settings.removeVoiceChats && e.instance.props.channel && e.instance.props.channel.isGroupDM()) e.instance.props.channel = new BDFDB.DiscordObjects.Channel(Object.assign({}, e.instance.props.channel, {rawRecipients: e.instance.props.channel.rawRecipients.filter(n => !n || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.id)), recipients: e.instance.props.channel.recipients.filter(id => !id || !BDFDB.LibraryModules.FriendUtils.isBlocked(id))}));
|
|
|
|
|
if (settings.removeVoiceChats && e.instance.props.channel && e.instance.props.channel.isGroupDM()) e.instance.props.channel = new BDFDB.DiscordObjects.Channel(Object.assign({}, e.instance.props.channel, {rawRecipients: e.instance.props.channel.rawRecipients.filter(n => !n || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.id)), recipients: e.instance.props.channel.recipients.filter(id => !id || !BDFDB.LibraryModules.RelationshipStore.isBlocked(id))}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processMemberListItem (e) {
|
|
|
|
|
if (settings.removeUsers && e.instance.props.user && BDFDB.LibraryModules.FriendUtils.isBlocked(e.instance.props.user.id)) return null;
|
|
|
|
|
if (settings.removeUsers && e.instance.props.user && BDFDB.LibraryModules.RelationshipStore.isBlocked(e.instance.props.user.id)) return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processVoiceUsers (e) {
|
|
|
|
|
if (settings.removeVoiceUser && BDFDB.ArrayUtils.is(e.instance.props.voiceStates)) e.instance.props.voiceStates = [].concat(e.instance.props.voiceStates).filter(n => !n.user || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.user.id));
|
|
|
|
|
if (settings.removeVoiceUser && BDFDB.ArrayUtils.is(e.instance.props.voiceStates)) e.instance.props.voiceStates = [].concat(e.instance.props.voiceStates).filter(n => !n.user || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.user.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processVoiceUser (e) {
|
|
|
|
|
if (settings.removeVoiceUser && e.instance.props.user && BDFDB.LibraryModules.FriendUtils.isBlocked(e.instance.props.user.id)) return null;
|
|
|
|
|
if (settings.removeVoiceUser && e.instance.props.user && BDFDB.LibraryModules.RelationshipStore.isBlocked(e.instance.props.user.id)) return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processPrivateChannel (e) {
|
|
|
|
|
if (settings.removeUsers && e.instance.props.channel && e.instance.props.channel.isGroupDM()) e.instance.props.channel = new BDFDB.DiscordObjects.Channel(Object.assign({}, e.instance.props.channel, {rawRecipients: e.instance.props.channel.rawRecipients.filter(n => !n || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.id)), recipients: e.instance.props.channel.recipients.filter(id => !id || !BDFDB.LibraryModules.FriendUtils.isBlocked(id))}));
|
|
|
|
|
if (settings.removeUsers && e.instance.props.channel && e.instance.props.channel.isGroupDM()) e.instance.props.channel = new BDFDB.DiscordObjects.Channel(Object.assign({}, e.instance.props.channel, {rawRecipients: e.instance.props.channel.rawRecipients.filter(n => !n || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.id)), recipients: e.instance.props.channel.recipients.filter(id => !id || !BDFDB.LibraryModules.RelationshipStore.isBlocked(id))}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processPrivateChannelCallParticipants (e) {
|
|
|
|
|
if (settings.removeVoiceChats && BDFDB.ArrayUtils.is(e.instance.props.participants)) e.instance.props.participants = [].concat(e.instance.props.participants).filter(n => !n.user || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.user.id));
|
|
|
|
|
if (settings.removeVoiceChats && BDFDB.ArrayUtils.is(e.instance.props.participants)) e.instance.props.participants = [].concat(e.instance.props.participants).filter(n => !n.user || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.user.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processChannelCall (e) {
|
|
|
|
|
if (settings.removeVoiceChats && BDFDB.ArrayUtils.is(e.instance.props.participants)) e.instance.props.participants = [].concat(e.instance.props.participants).filter(n => !n.user || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.user.id));
|
|
|
|
|
if (settings.removeVoiceChats && BDFDB.ArrayUtils.is(e.instance.props.participants)) e.instance.props.participants = [].concat(e.instance.props.participants).filter(n => !n.user || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.user.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processUserSummaryItem (e) {
|
|
|
|
|
if (settings.removeUsers && BDFDB.ArrayUtils.is(e.instance.props.users)) e.instance.props.users = [].concat(e.instance.props.users).filter(n => !n || !BDFDB.LibraryModules.FriendUtils.isBlocked(n.id));
|
|
|
|
|
if (settings.removeUsers && BDFDB.ArrayUtils.is(e.instance.props.users)) e.instance.props.users = [].concat(e.instance.props.users).filter(n => !n || !BDFDB.LibraryModules.RelationshipStore.isBlocked(n.id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processUserMention (e) {
|
|
|
|
|
if (e.instance.props.userId && settings.removeMentions && BDFDB.LibraryModules.FriendUtils.isBlocked(e.instance.props.userId)) return BDFDB.ReactUtils.createElement("span", {
|
|
|
|
|
if (e.instance.props.userId && settings.removeMentions && BDFDB.LibraryModules.RelationshipStore.isBlocked(e.instance.props.userId)) return BDFDB.ReactUtils.createElement("span", {
|
|
|
|
|
className: BDFDB.DOMUtils.formatClassName(BDFDB.disCN.mention, BDFDB.disCN.mentionwrapper, e.instance.props.className),
|
|
|
|
|
children: ["@" + BDFDB.LanguageUtils.LanguageStrings.UNKNOWN_USER]
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
processRichUserMention (e) {
|
|
|
|
|
if (e.instance.props.id && settings.removeMentions && BDFDB.LibraryModules.FriendUtils.isBlocked(e.instance.props.id)) return BDFDB.ReactUtils.createElement("span", {
|
|
|
|
|
if (e.instance.props.id && settings.removeMentions && BDFDB.LibraryModules.RelationshipStore.isBlocked(e.instance.props.id)) return BDFDB.ReactUtils.createElement("span", {
|
|
|
|
|
className: BDFDB.DOMUtils.formatClassName(BDFDB.disCN.mention, BDFDB.disCN.mentionwrapper, e.instance.props.className),
|
|
|
|
|
children: ["@" + BDFDB.LanguageUtils.LanguageStrings.UNKNOWN_USER]
|
|
|
|
|
});
|
|
|
|
|