From 1e35559e2296796dff1215cab64db7d0b61cd59d Mon Sep 17 00:00:00 2001 From: LLB Date: Fri, 10 Apr 2026 10:47:08 +0400 Subject: [PATCH] "message is not modified" fix --- index.ts | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/index.ts b/index.ts index c81fcf9..bf75c89 100644 --- a/index.ts +++ b/index.ts @@ -1406,6 +1406,25 @@ export default function (pi: ExtensionAPI) { }; } + function isTelegramMessageNotModifiedError(error: unknown): boolean { + return ( + error instanceof Error && + error.message.includes("message is not modified") + ); + } + + async function editTelegramMessageText( + body: Record, + ): Promise<"edited" | "unchanged"> { + try { + await callTelegram("editMessageText", body); + return "edited"; + } catch (error) { + if (isTelegramMessageNotModifiedError(error)) return "unchanged"; + throw error; + } + } + async function sendRenderedChunks( chatId: number, chunks: TelegramRenderedChunk[], @@ -1433,7 +1452,7 @@ export default function (pi: ExtensionAPI) { ): Promise { if (chunks.length === 0) return messageId; const [firstChunk, ...remainingChunks] = chunks; - await callTelegram("editMessageText", { + await editTelegramMessageText({ chat_id: chatId, message_id: messageId, text: firstChunk.text, @@ -1508,7 +1527,7 @@ export default function (pi: ExtensionAPI) { state.lastSentText = truncated; return; } - await callTelegram("editMessageText", { + await editTelegramMessageText({ chat_id: chatId, message_id: state.messageId, text: truncated,