This commit is contained in:
Lizandro Guarnizo
2026-01-21 22:11:12 -05:00
parent 2b92e47624
commit 31dbc8aa86
9 changed files with 158 additions and 4 deletions
+20
View File
@@ -25,6 +25,26 @@ class BotService {
$messageText = trim($messageText);
$phoneNumber = $user['phone_number'];
// Comprobar en la base de datos el estado más reciente de 'in_service' para evitar condiciones de carrera
try {
$fresh = $this->db->fetch("SELECT in_service, in_service_by FROM users WHERE phone_number = :phone", ['phone' => $phoneNumber]);
if (!empty($fresh['in_service'])) {
try {
$userId = $user['id'] ?? 'unknown';
error_log("[BotService] processMessage - user_id={$userId} is currently in_service (DB), skipping bot processing");
} catch (Throwable $t) {
// ignore logging errors
}
return;
}
// actualizar el array $user con valores frescos por si se usan más adelante
$user['in_service'] = !empty($fresh['in_service']);
$user['in_service_by'] = $fresh['in_service_by'] ?? null;
} catch (Exception $e) {
error_log('[BotService] processMessage - failed to refresh in_service: ' . $e->getMessage());
// En caso de fallo al consultar, continuar con lógica previa (no bloquear)
}
// DEBUG: log basic context
try {
$userId = $user['id'] ?? 'unknown';