






















@@ -14,7 +14,11 @@ import {
1414import { buildCommandsMessagePaginated } from "openclaw/plugin-sdk/command-status";
1515import { replaceConfigFile } from "openclaw/plugin-sdk/config-mutation";
1616import type { DmPolicy, OpenClawConfig } from "openclaw/plugin-sdk/config-types";
17-import type { TelegramGroupConfig, TelegramTopicConfig } from "openclaw/plugin-sdk/config-types";
17+import type {
18+TelegramDirectConfig,
19+TelegramGroupConfig,
20+TelegramTopicConfig,
21+} from "openclaw/plugin-sdk/config-types";
1822import {
1923buildPluginBindingResolvedText,
2024parsePluginBindingApprovalCustomId,
@@ -72,6 +76,7 @@ import {
7276resolveTelegramForumFlag,
7377resolveTelegramForumThreadId,
7478resolveTelegramGroupAllowFromContext,
79+shouldUseTelegramDmThreadSession,
7580withResolvedTelegramForumFlag,
7681} from "./bot/helpers.js";
7782import type { TelegramContext, TelegramGetChat } from "./bot/types.js";
@@ -320,7 +325,10 @@ export const registerTelegramHandlers = ({
320325});
321326const dmThreadId = !params.isGroup ? params.messageThreadId : undefined;
322327const topicThreadId = resolvedThreadId ?? dmThreadId;
323-const { topicConfig } = resolveTelegramGroupConfig(params.chatId, topicThreadId);
328+const { groupConfig, topicConfig } = resolveTelegramGroupConfig(params.chatId, topicThreadId);
329+const directConfig = !params.isGroup
330+ ? (groupConfig as TelegramDirectConfig | undefined)
331+ : undefined;
324332const { route } = resolveTelegramConversationRoute({
325333cfg: runtimeCfg,
326334 accountId,
@@ -338,10 +346,9 @@ export const registerTelegramHandlers = ({
338346isGroup: params.isGroup,
339347senderId: params.senderId,
340348});
341-const threadKeys =
342-dmThreadId != null
343- ? resolveThreadSessionKeys({ baseSessionKey, threadId: `${params.chatId}:${dmThreadId}` })
344- : null;
349+const threadKeys = shouldUseTelegramDmThreadSession({ dmThreadId, directConfig, topicConfig })
350+ ? resolveThreadSessionKeys({ baseSessionKey, threadId: `${params.chatId}:${dmThreadId}` })
351+ : null;
345352const sessionKey = threadKeys?.sessionKey ?? baseSessionKey;
346353const storePath = telegramDeps.resolveStorePath(runtimeCfg.session?.store, {
347354agentId: route.agentId,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。