refactor(telegram): unify inline button capability parsing

This commit is contained in:
Ayaan Zaidi
2026-03-28 09:51:58 +05:30
parent 4a014083ff
commit 39829b5dc6
3 changed files with 17 additions and 17 deletions

View File

@@ -3,6 +3,7 @@ import type { TelegramExecApprovalConfig } from "openclaw/plugin-sdk/config-runt
import { getExecApprovalReplyMetadata } from "openclaw/plugin-sdk/infra-runtime";
import type { ReplyPayload } from "openclaw/plugin-sdk/reply-runtime";
import { resolveTelegramAccount } from "./accounts.js";
import { resolveTelegramInlineButtonsConfigScope } from "./inline-buttons.js";
import { resolveTelegramTargetChatType } from "./targets.js";
function normalizeApproverId(value: string | number): string {
@@ -77,11 +78,7 @@ function resolveExecApprovalButtonsExplicitlyDisabled(params: {
accountId?: string | null;
}): boolean {
const capabilities = resolveTelegramAccount(params).config.capabilities;
if (!capabilities || Array.isArray(capabilities) || typeof capabilities !== "object") {
return false;
}
const inlineButtons = (capabilities as { inlineButtons?: unknown }).inlineButtons;
return typeof inlineButtons === "string" && inlineButtons.trim().toLowerCase() === "off";
return resolveTelegramInlineButtonsConfigScope(capabilities) === "off";
}
export function shouldEnableTelegramExecApprovalButtons(params: {