




















@@ -23,6 +23,7 @@ import {
2323resolveTelegramInlineButtonsScope,
2424resolveTelegramTargetChatType,
2525} from "./inline-buttons.js";
26+import { resolveTelegramInteractiveTextFallback } from "./interactive-fallback.js";
2627import { resolveTelegramPollVisibility } from "./poll-visibility.js";
2728import { resolveTelegramReactionLevel } from "./reaction-level.js";
2829import {
@@ -134,6 +135,7 @@ function readTelegramSendContent(params: {
134135args: Record<string, unknown>;
135136mediaUrl?: string;
136137hasButtons: boolean;
138+interactive?: unknown;
137139presentation?: MessagePresentation;
138140}) {
139141const explicitContent =
@@ -144,7 +146,20 @@ function readTelegramSendContent(params: {
144146explicitContent == null && params.presentation
145147 ? renderMessagePresentationFallbackText({ presentation: params.presentation })
146148 : undefined;
147-const content = explicitContent ?? (presentationText?.trim() ? presentationText : undefined);
149+const interactiveText =
150+explicitContent == null && !params.presentation
151+ ? resolveTelegramInteractiveTextFallback({ interactive: params.interactive })
152+ : undefined;
153+let content =
154+explicitContent ??
155+(presentationText?.trim() ? presentationText : undefined) ??
156+(interactiveText?.trim() ? interactiveText : undefined);
157+if ((content == null || content.trim().length === 0) && !params.mediaUrl && params.hasButtons) {
158+const fallback = presentationText?.trim() ? presentationText : interactiveText;
159+if (fallback?.trim()) {
160+content = fallback;
161+}
162+}
148163if (content == null && !params.mediaUrl && !params.hasButtons) {
149164throw new Error("content required.");
150165}
@@ -321,6 +336,7 @@ export async function handleTelegramAction(
321336args: params,
322337mediaUrl: mediaUrl ?? undefined,
323338hasButtons: Array.isArray(buttons) && buttons.length > 0,
339+interactive: params.interactive,
324340 presentation,
325341});
326342if (buttons) {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。