up
This commit is contained in:
@@ -65,3 +65,5 @@ Stack trace:
|
||||
[2026-01-21 23:49:55] [INFO] delete_template.php parsed ids {"ids":[1]}
|
||||
[2026-01-24 02:11:00] [INFO] Bot paused for 3 minutes for 573022548060
|
||||
[2026-01-24 02:14:23] [INFO] Bot paused for 3 minutes for 573022548060
|
||||
[2026-01-24 02:18:27] [INFO] Bot paused for 3 minutes for 573022548060
|
||||
[2026-01-24 02:18:38] [INFO] Bot paused for 3 minutes for 573022548060
|
||||
|
||||
@@ -99,4 +99,11 @@ $bot->processMessage($user, 'ATRAS');
|
||||
print_r($stateSvc->getState($phone));
|
||||
print_r($db->fetch("SELECT current_menu_id FROM users WHERE phone_number = :phone", ['phone' => $phone]));
|
||||
|
||||
// 5) Ahora, estando de vuelta en informacion_examenes, seleccionar '1' nuevamente
|
||||
echo "\n5) En informacion_examenes, enviar '1' de nuevo\n";
|
||||
$bot->processMessage($user, '1');
|
||||
print_r($stateSvc->getState($phone));
|
||||
echo "menu_history: " . json_encode($stateSvc->getStateData($phone, 'menu_history')) . "\n";
|
||||
print_r($db->fetch("SELECT current_menu_id FROM users WHERE phone_number = :phone", ['phone' => $phone]));
|
||||
|
||||
echo "\nTest script finished.\n";
|
||||
|
||||
+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