This commit is contained in:
Lizandro Guarnizo
2026-01-24 02:20:31 -05:00
parent a481a20e9a
commit 3033f022d7
3 changed files with 34 additions and 1 deletions
+25 -1
View File
@@ -164,8 +164,32 @@ class BotService {
$advisorReplied = true;
error_log("[BotService] processMessage - advisorReplied=true for user {$user['id']}");
}
// Resolver current_menu_id fresco (evitar usar $user desactualizado que viene del webhook)
$resolvedMenuId = null;
try {
$stateSvc = new ConversationStateService();
$resolvedMenuId = $stateSvc->getCurrentMenuId($phoneNumber);
} catch (Exception $e) {
// ignore
}
if (empty($resolvedMenuId)) {
try {
$cur = $this->db->fetch("SELECT current_menu_id FROM users WHERE phone_number = :phone", ['phone' => $phoneNumber]);
$resolvedMenuId = $cur ? $cur['current_menu_id'] : ($user['current_menu_id'] ?? null);
} catch (Exception $e) {
$resolvedMenuId = $user['current_menu_id'] ?? null;
}
}
// Actualizar el array $user para que funciones posteriores lo usen si es necesario
$user['current_menu_id'] = $resolvedMenuId;
try { error_log("[BotService] processMessage - resolved current_menu_id={$resolvedMenuId} for user {$user['id']} phone={$phoneNumber}"); } catch (Throwable $t) {}
// Verificar si el usuario está en un menú
if ($user['current_menu_id']) {
if (!empty($resolvedMenuId)) {
$this->processMenuSelection($user, $messageText);
} else {
// No usar las "respuestas rápidas" (autoresponses) automáticamente desde el bot.