Fix forwarded messages not detected on message check for user filter

This commit is contained in:
fumiichan 2025-02-02 22:14:08 +09:00
parent 796ffb135a
commit c5b4b7e225
No known key found for this signature in database
GPG key ID: 75B15A4C2C5A48A6

View file

@ -63,18 +63,16 @@ const toggleHide = async (channelId: string, messageId: string): Promise<void> =
* @param {string[]} userFilters List of user IDs to be checked * @param {string[]} userFilters List of user IDs to be checked
* @returns {boolean} * @returns {boolean}
*/ */
const shouldHideByUserIdFilter = (payload: IMessage, userFilters: string[]): boolean => { const shouldHideByUserIdFilter = (payload: IMessage, userFilters: Set<string>): boolean => {
if (!payload.attachments.length && !payload.embeds.length) { if (!payload.attachments.length && !payload.embeds.length) {
return false; return false;
} }
for (const id of userFilters) { if (!Array.isArray(payload.message_snapshots)) {
if (payload.author.id === id) { return false;
return true;
}
} }
return false; return userFilters.has(payload.author.id);
}; };
/** /**
@ -146,7 +144,7 @@ const checkAndHide = async (message: IMessage, store: typeof settings.store): Pr
const userFilters = isStringEmpty(store.filterUserList) const userFilters = isStringEmpty(store.filterUserList)
? [] ? []
: store.filterUserList.split(","); : store.filterUserList.split(",");
if (shouldHideByUserIdFilter(message, userFilters)) { if (shouldHideByUserIdFilter(message, new Set(userFilters))) {
await toggleHide(message.channel_id, message.id); await toggleHide(message.channel_id, message.id);
return; return;
} }