From caf763c23ef14be21333bf65f1dac63ecf5dc515 Mon Sep 17 00:00:00 2001 From: ChemaVX Date: Fri, 8 May 2026 15:38:06 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20cmd=5Fgenerate=20usa=20=5Factive=5Fsessi?= =?UTF-8?q?ons=20para=20la=20sesi=C3=B3n=20correcta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Si hay una sesión activa registrada para el chat, se consulta directamente por id en lugar de por created_at DESC, evitando que /generate use la sesión más reciente en vez de la actual. Co-Authored-By: Claude Sonnet 4.6 --- src/bot/bot.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/bot/bot.py b/src/bot/bot.py index b3bca69..28d12e1 100644 --- a/src/bot/bot.py +++ b/src/bot/bot.py @@ -305,12 +305,19 @@ async def cmd_generate(update: Update, ctx: ContextTypes.DEFAULT_TYPE): db = ResearchDB(db_conn) try: - # Find last session for this chat - cursor = await db_conn.execute( - """SELECT * FROM research_sessions WHERE telegram_chat_id = ? - ORDER BY created_at DESC LIMIT 1""", - (chat_id,) - ) + # Usa la sesión activa si existe, si no la más reciente + session_id = _active_sessions.get(chat_id) + if session_id: + cursor = await db_conn.execute( + "SELECT * FROM research_sessions WHERE id = ?", + (session_id,) + ) + else: + cursor = await db_conn.execute( + """SELECT * FROM research_sessions WHERE telegram_chat_id = ? + ORDER BY created_at DESC LIMIT 1""", + (chat_id,) + ) row = await cursor.fetchone() if not row: await update.message.reply_text("No research sessions found. Start with /research ")