|
|
@ -169,21 +169,14 @@ export default definePlugin({
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (cache == null || (!isBulk && !cache.has(data.id))) return cache;
|
|
|
|
if (cache == null || (!isBulk && !cache.has(data.id))) return cache;
|
|
|
|
|
|
|
|
|
|
|
|
const { ignoreBots, ignoreSelf, ignoreUsers, ignoreChannels, ignoreGuilds } = Settings.plugins.MessageLogger;
|
|
|
|
const mutate = (id: string) => {
|
|
|
|
const myId = UserStore.getCurrentUser().id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function mutate(id: string) {
|
|
|
|
|
|
|
|
const msg = cache.get(id);
|
|
|
|
const msg = cache.get(id);
|
|
|
|
if (!msg) return;
|
|
|
|
if (!msg) return;
|
|
|
|
|
|
|
|
|
|
|
|
const EPHEMERAL = 64;
|
|
|
|
const EPHEMERAL = 64;
|
|
|
|
const shouldIgnore = data.mlDeleted ||
|
|
|
|
const shouldIgnore = data.mlDeleted ||
|
|
|
|
(msg.flags & EPHEMERAL) === EPHEMERAL ||
|
|
|
|
(msg.flags & EPHEMERAL) === EPHEMERAL ||
|
|
|
|
ignoreBots && msg.author?.bot ||
|
|
|
|
this.shouldIgnore(msg);
|
|
|
|
ignoreSelf && msg.author?.id === myId ||
|
|
|
|
|
|
|
|
ignoreUsers.includes(msg.author?.id) ||
|
|
|
|
|
|
|
|
ignoreChannels.includes(msg.channel_id) ||
|
|
|
|
|
|
|
|
ignoreGuilds.includes(ChannelStore.getChannel(msg.channel_id)?.guild_id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (shouldIgnore) {
|
|
|
|
if (shouldIgnore) {
|
|
|
|
cache = cache.remove(id);
|
|
|
|
cache = cache.remove(id);
|
|
|
@ -192,7 +185,7 @@ export default definePlugin({
|
|
|
|
.set("deleted", true)
|
|
|
|
.set("deleted", true)
|
|
|
|
.set("attachments", m.attachments.map(a => (a.deleted = true, a))));
|
|
|
|
.set("attachments", m.attachments.map(a => (a.deleted = true, a))));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
if (isBulk) {
|
|
|
|
if (isBulk) {
|
|
|
|
data.ids.forEach(mutate);
|
|
|
|
data.ids.forEach(mutate);
|
|
|
@ -205,6 +198,17 @@ export default definePlugin({
|
|
|
|
return cache;
|
|
|
|
return cache;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shouldIgnore(message: any) {
|
|
|
|
|
|
|
|
const { ignoreBots, ignoreSelf, ignoreUsers, ignoreChannels, ignoreGuilds } = Settings.plugins.MessageLogger;
|
|
|
|
|
|
|
|
const myId = UserStore.getCurrentUser().id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ignoreBots && message.author?.bot ||
|
|
|
|
|
|
|
|
ignoreSelf && message.author?.id === myId ||
|
|
|
|
|
|
|
|
ignoreUsers.includes(message.author?.id) ||
|
|
|
|
|
|
|
|
ignoreChannels.includes(message.channel_id) ||
|
|
|
|
|
|
|
|
ignoreGuilds.includes(ChannelStore.getChannel(message.channel_id)?.guild_id);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// Based on canary 9ab8626bcebceaea6da570b9c586172d02b9c996
|
|
|
|
// Based on canary 9ab8626bcebceaea6da570b9c586172d02b9c996
|
|
|
|
patches: [
|
|
|
|
patches: [
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -237,7 +241,7 @@ export default definePlugin({
|
|
|
|
match: /(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/,
|
|
|
|
match: /(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/,
|
|
|
|
replace: "$1" +
|
|
|
|
replace: "$1" +
|
|
|
|
".update($3,m =>" +
|
|
|
|
".update($3,m =>" +
|
|
|
|
" (($2.message.flags & 64) === 64 || (Vencord.Settings.plugins.MessageLogger.ignoreBots && $2.message.author?.bot) || (Vencord.Settings.plugins.MessageLogger.ignoreSelf && $2.message.author?.id === Vencord.Webpack.Common.UserStore.getCurrentUser().id)) ? m :" +
|
|
|
|
" (($2.message.flags & 64) === 64 || $self.shouldIgnore($2.message)) ? m :" +
|
|
|
|
" $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" +
|
|
|
|
" $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" +
|
|
|
|
" m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" +
|
|
|
|
" m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" +
|
|
|
|
" m" +
|
|
|
|
" m" +
|
|
|
|