refactor(discord): share member access state

This commit is contained in:
Peter Steinberger
2026-02-16 01:55:31 +00:00
parent 93b9f1ec5f
commit 555eb3f62c
4 changed files with 41 additions and 33 deletions

View File

@@ -24,7 +24,7 @@ import {
resolveDiscordAllowListMatch,
resolveDiscordChannelConfigWithFallback,
resolveDiscordGuildEntry,
resolveDiscordMemberAllowed,
resolveDiscordMemberAccessState,
} from "./allow-list.js";
import { formatDiscordUserTag } from "./format.js";
@@ -217,15 +217,15 @@ async function ensureGuildComponentMemberAllowed(params: {
scope: channelCtx.isThread ? "thread" : "channel",
});
const channelUsers = channelConfig?.users ?? guildInfo?.users;
const channelRoles = channelConfig?.roles ?? guildInfo?.roles;
const memberAllowed = resolveDiscordMemberAllowed({
userAllowList: channelUsers,
roleAllowList: channelRoles,
const { memberAllowed } = resolveDiscordMemberAccessState({
channelConfig,
guildInfo,
memberRoleIds,
userId: user.id,
userName: user.username,
userTag: user.discriminator ? `${user.username}#${user.discriminator}` : undefined,
sender: {
id: user.id,
name: user.username,
tag: user.discriminator ? `${user.username}#${user.discriminator}` : undefined,
},
});
if (memberAllowed) {
return true;