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
* @returns {boolean}
*/
const shouldHideByUserIdFilter = (payload: IMessage, userFilters: string[]): boolean => {
const shouldHideByUserIdFilter = (payload: IMessage, userFilters: Set<string>): boolean => {
if (!payload.attachments.length && !payload.embeds.length) {
return false;
}
for (const id of userFilters) {
if (payload.author.id === id) {
return true;
}
if (!Array.isArray(payload.message_snapshots)) {
return false;
}
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)
? []
: store.filterUserList.split(",");
if (shouldHideByUserIdFilter(message, userFilters)) {
if (shouldHideByUserIdFilter(message, new Set(userFilters))) {
await toggleHide(message.channel_id, message.id);
return;
}