@@ -135,6 +135,13 @@ function telegramDraftRichPayloadLength(preview: TelegramDraftPreview): number {
135135 return richMessage . html ?. length ?? richMessage . markdown ?. length ?? 0 ;
136136}
137137
138+ function resolveTelegramDraftRenderedText (
139+ preview : TelegramDraftPreview ,
140+ richMessages : boolean ,
141+ ) : string {
142+ return richMessages ? preview . text : normalizeTelegramDraftTransportPreview ( preview ) . text ;
143+ }
144+
138145function findTelegramDraftChunkLength (
139146 text : string ,
140147 maxChars : number ,
@@ -147,7 +154,7 @@ function findTelegramDraftChunkLength(
147154 while ( low <= high ) {
148155 const mid = Math . floor ( ( low + high ) / 2 ) ;
149156 const preview = renderTelegramDraftPreview ( text . slice ( 0 , mid ) , renderText ) ;
150- const renderedText = normalizeTelegramDraftTransportPreview ( preview ) . text . trimEnd ( ) ;
157+ const renderedText = resolveTelegramDraftRenderedText ( preview , richMessages ) . trimEnd ( ) ;
151158 const payloadLength = richMessages
152159 ? telegramDraftRichPayloadLength ( preview )
153160 : renderedText . length ;
@@ -254,7 +261,6 @@ export function createTelegramDraftStream(params: {
254261 preview,
255262 sendGeneration,
256263 } : PreviewSendParams ) : Promise < boolean > => {
257- const transportPreview = normalizeTelegramDraftTransportPreview ( preview ) ;
258264 if ( typeof streamMessageId === "number" ) {
259265 streamVisibleSinceMs ??= Date . now ( ) ;
260266 if ( richMessages ) {
@@ -265,6 +271,7 @@ export function createTelegramDraftStream(params: {
265271 } ) ;
266272 return true ;
267273 }
274+ const transportPreview = normalizeTelegramDraftTransportPreview ( preview ) ;
268275 if ( transportPreview . parseMode === "HTML" ) {
269276 try {
270277 await params . api . editMessageText ( chatId , streamMessageId , transportPreview . text , {
@@ -340,8 +347,7 @@ export function createTelegramDraftStream(params: {
340347 deliveredTextOffset === 0 && lastRequestedPreview ?. text === trimmed
341348 ? lastRequestedPreview
342349 : renderTelegramDraftPreview ( currentText , params . renderText ) ;
343- const transportPreview = normalizeTelegramDraftTransportPreview ( rendered ) ;
344- const renderedText = transportPreview . text . trimEnd ( ) ;
350+ const renderedText = resolveTelegramDraftRenderedText ( rendered , richMessages ) . trimEnd ( ) ;
345351 const renderedPayloadLength = richMessages
346352 ? telegramDraftRichPayloadLength ( rendered )
347353 : renderedText . length ;
0 commit comments