diff --git a/src/discord/monitor/allow-list.ts b/src/discord/monitor/allow-list.ts index dde753afa..e95937601 100644 --- a/src/discord/monitor/allow-list.ts +++ b/src/discord/monitor/allow-list.ts @@ -181,6 +181,20 @@ export function resolveDiscordOwnerAllowFrom(params: { return [match.matchKey]; } +export function resolveDiscordRoleAllowed(params: { + allowList?: Array; + memberRoleIds: string[]; +}) { + const allowList = normalizeDiscordAllowList(params.allowList, ["role:"]); + if (!allowList) { + return true; + } + if (allowList.allowAll) { + return true; + } + return params.memberRoleIds.some((roleId) => allowList.ids.has(roleId)); +} + export function resolveDiscordCommandAuthorized(params: { isDirectMessage: boolean; allowFrom?: Array;