up
This commit is contained in:
+25
-1
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user