























@@ -37,6 +37,7 @@ import {
3737import { resolveTelegramAccount, resolveTelegramMediaRuntimeOptions } from "./accounts.js";
3838import { withTelegramApiErrorLogging } from "./api-logging.js";
3939import {
40+expandTelegramAllowFromWithAccessGroups,
4041isSenderAllowed,
4142normalizeDmAllowFromWithStore,
4243type NormalizedAllowFrom,
@@ -709,14 +710,17 @@ export const registerTelegramHandlers = ({
709710chatId: number;
710711isGroup: boolean;
711712isForum: boolean;
713+senderId?: string;
712714messageThreadId?: number;
713715groupAllowContext?: TelegramGroupAllowContext;
714716}): Promise<TelegramEventAuthorizationContext> => {
715717const groupAllowContext =
716718params.groupAllowContext ??
717719(await resolveTelegramGroupAllowFromContext({
720+ cfg,
718721chatId: params.chatId,
719722 accountId,
723+senderId: params.senderId,
720724isGroup: params.isGroup,
721725isForum: params.isForum,
722726messageThreadId: params.messageThreadId,
@@ -917,6 +921,7 @@ export const registerTelegramHandlers = ({
917921 chatId,
918922 isGroup,
919923 isForum,
924+ senderId,
920925});
921926const senderAuthorization = authorizeTelegramEventSender({
922927 chatId,
@@ -1346,10 +1351,13 @@ export const registerTelegramHandlers = ({
13461351isForum: callbackMessage.chat.is_forum,
13471352 getChat,
13481353});
1354+const senderId = callback.from?.id ? String(callback.from.id) : "";
1355+const senderUsername = callback.from?.username ?? "";
13491356const eventAuthContext = await resolveTelegramEventAuthorizationContext({
13501357 chatId,
13511358 isGroup,
13521359 isForum,
1360+ senderId,
13531361 messageThreadId,
13541362});
13551363const { resolvedThreadId, dmThreadId, storeAllowFrom, groupConfig } = eventAuthContext;
@@ -1360,8 +1368,6 @@ export const registerTelegramHandlers = ({
13601368);
13611369return;
13621370}
1363-const senderId = callback.from?.id ? String(callback.from.id) : "";
1364-const senderUsername = callback.from?.username ?? "";
13651371const authorizationMode: TelegramEventAuthorizationMode =
13661372!isGroup || (!execApprovalButtonsEnabled && inlineButtonsScope === "allowlist")
13671373 ? "callback-allowlist"
@@ -1888,6 +1894,7 @@ export const registerTelegramHandlers = ({
18881894chatId: event.chatId,
18891895isGroup: event.isGroup,
18901896isForum: event.isForum,
1897+senderId: event.senderId,
18911898messageThreadId: event.messageThreadId,
18921899});
18931900const {
@@ -1903,8 +1910,14 @@ export const registerTelegramHandlers = ({
19031910} = eventAuthContext;
19041911// For DMs, prefer per-DM/topic allowFrom (groupAllowOverride) over account-level allowFrom
19051912const dmAllowFrom = groupAllowOverride ?? allowFrom;
1906-const effectiveDmAllow = normalizeDmAllowFromWithStore({
1913+const expandedDmAllowFrom = await expandTelegramAllowFromWithAccessGroups({
1914+ cfg,
19071915allowFrom: dmAllowFrom,
1916+ accountId,
1917+senderId: event.senderId,
1918+});
1919+const effectiveDmAllow = normalizeDmAllowFromWithStore({
1920+allowFrom: expandedDmAllowFrom,
19081921 storeAllowFrom,
19091922 dmPolicy,
19101923});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。