From a4981efae36091ef754a60062e3f02b1802a6b45 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 22 Feb 2026 11:29:01 +0000 Subject: [PATCH] fix(discord): improve outbound send consistency --- src/discord/send.outbound.ts | 71 ++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 28 deletions(-) diff --git a/src/discord/send.outbound.ts b/src/discord/send.outbound.ts index 64ee07e71..979054b43 100644 --- a/src/discord/send.outbound.ts +++ b/src/discord/send.outbound.ts @@ -62,6 +62,31 @@ type DiscordChannelMessageResult = { channel_id?: string | null; }; +async function sendDiscordThreadTextChunks(params: { + rest: RequestClient; + threadId: string; + chunks: readonly string[]; + request: DiscordClientRequest; + maxLinesPerMessage?: number; + chunkMode: ReturnType; + silent?: boolean; +}): Promise { + for (const chunk of params.chunks) { + await sendDiscordText( + params.rest, + params.threadId, + chunk, + undefined, + params.request, + params.maxLinesPerMessage, + undefined, + undefined, + params.chunkMode, + params.silent, + ); + } +} + /** Discord thread names are capped at 100 characters. */ const DISCORD_THREAD_NAME_LIMIT = 100; @@ -194,35 +219,25 @@ export async function sendMessageDiscord( chunkMode, opts.silent, ); - for (const chunk of afterMediaChunks) { - await sendDiscordText( - rest, - threadId, - chunk, - undefined, - request, - accountInfo.config.maxLinesPerMessage, - undefined, - undefined, - chunkMode, - opts.silent, - ); - } + await sendDiscordThreadTextChunks({ + rest, + threadId, + chunks: afterMediaChunks, + request, + maxLinesPerMessage: accountInfo.config.maxLinesPerMessage, + chunkMode, + silent: opts.silent, + }); } else { - for (const chunk of remainingChunks) { - await sendDiscordText( - rest, - threadId, - chunk, - undefined, - request, - accountInfo.config.maxLinesPerMessage, - undefined, - undefined, - chunkMode, - opts.silent, - ); - } + await sendDiscordThreadTextChunks({ + rest, + threadId, + chunks: remainingChunks, + request, + maxLinesPerMessage: accountInfo.config.maxLinesPerMessage, + chunkMode, + silent: opts.silent, + }); } } catch (err) { throw await buildDiscordSendError(err, {