From f8a6edf4c735fd6175c2912bb000a5cbce7d304c Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 5 May 2026 13:44:47 +0000 Subject: [PATCH] debug: add detailed logging for streaming IDs --- src/bot/message-sender.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/bot/message-sender.js b/src/bot/message-sender.js index 852228c7..627c4cba 100644 --- a/src/bot/message-sender.js +++ b/src/bot/message-sender.js @@ -57,11 +57,25 @@ export async function sendStreamingMessage(ctx, text, options = {}) { // Send initial placeholder message const sentMsg = await ctx.reply('⌨️ ⌨️', { parse_mode: 'Markdown' }); - logger.info('📡 Initial message sent:', sentMsg.message_id, 'chat:', sentMsg.chat.id); + logger.info('📡 Initial message sent:', JSON.stringify({ + message_id: sentMsg?.message_id, + chat_id: sentMsg?.chat?.id, + full_obj: Object.keys(sentMsg || {}) + })); + + // Extract IDs safely + const messageId = sentMsg?.message_id; + const chatId = sentMsg?.chat?.id; + + if (!messageId || !chatId) { + logger.error('Failed to extract message ID or chat ID from reply response'); + await sendFormatted(ctx, text); + return; + } + + logger.info('📡 Using message_id:', messageId, 'chat_id:', chatId); let sentText = ''; - const chatId = sentMsg.chat.id; - const messageId = sentMsg.message_id; if (charMode) { // Character-by-character streaming @@ -78,7 +92,7 @@ export async function sendStreamingMessage(ctx, text, options = {}) { parse_mode: 'Markdown' }); } catch (editErr) { - logger.error('Edit error:', editErr.message); + logger.error('Edit error:', editErr.message, 'payload:', { chat_id: chatId, message_id: messageId }); } const delayMs = minDelay + Math.random() * (maxDelay - minDelay); @@ -99,7 +113,7 @@ export async function sendStreamingMessage(ctx, text, options = {}) { parse_mode: 'Markdown' }); } catch (editErr) { - logger.error('Edit error:', editErr.message); + logger.error('Edit error:', editErr.message, 'payload:', { chat_id: chatId, message_id: messageId }); } const wordDelay = Math.max(minDelay, Math.min(maxDelay, delay + words[i].length * 5));