From 8465ddc1cc1eea24e4cda654e97cb8cc17efdc72 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sat, 28 Mar 2026 09:57:21 +0530 Subject: [PATCH] refactor(telegram): tighten helper field readers --- extensions/telegram/src/bot/helpers.ts | 4 ++-- extensions/telegram/src/inline-buttons.ts | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/extensions/telegram/src/bot/helpers.ts b/extensions/telegram/src/bot/helpers.ts index af1b2259ec9..3d5037f153f 100644 --- a/extensions/telegram/src/bot/helpers.ts +++ b/extensions/telegram/src/bot/helpers.ts @@ -19,10 +19,10 @@ export type TelegramThreadSpec = { }; export function extractTelegramForumFlag(value: unknown): boolean | undefined { - if (!value || typeof value !== "object") { + if (!value || typeof value !== "object" || !("is_forum" in value)) { return undefined; } - const forum = (value as { is_forum?: unknown }).is_forum; + const forum = value.is_forum; return typeof forum === "boolean" ? forum : undefined; } diff --git a/extensions/telegram/src/inline-buttons.ts b/extensions/telegram/src/inline-buttons.ts index d90bc4bdb14..79afda55113 100644 --- a/extensions/telegram/src/inline-buttons.ts +++ b/extensions/telegram/src/inline-buttons.ts @@ -21,13 +21,17 @@ function normalizeInlineButtonsScope(value: unknown): TelegramInlineButtonsScope return undefined; } +function readInlineButtonsCapability(value: unknown): unknown { + if (!value || Array.isArray(value) || typeof value !== "object" || !("inlineButtons" in value)) { + return undefined; + } + return value.inlineButtons; +} + export function resolveTelegramInlineButtonsConfigScope( capabilities: unknown, ): TelegramInlineButtonsScope | undefined { - if (!capabilities || Array.isArray(capabilities) || typeof capabilities !== "object") { - return undefined; - } - return normalizeInlineButtonsScope((capabilities as { inlineButtons?: unknown }).inlineButtons); + return normalizeInlineButtonsScope(readInlineButtonsCapability(capabilities)); } export function resolveTelegramInlineButtonsScopeFromCapabilities(