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-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: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: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($stateSvc->getState($phone));
|
||||||
print_r($db->fetch("SELECT current_menu_id FROM users WHERE phone_number = :phone", ['phone' => $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";
|
echo "\nTest script finished.\n";
|
||||||
|
|||||||
+25
-1
@@ -164,8 +164,32 @@ class BotService {
|
|||||||
$advisorReplied = true;
|
$advisorReplied = true;
|
||||||
error_log("[BotService] processMessage - advisorReplied=true for user {$user['id']}");
|
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ú
|
// Verificar si el usuario está en un menú
|
||||||
if ($user['current_menu_id']) {
|
if (!empty($resolvedMenuId)) {
|
||||||
$this->processMenuSelection($user, $messageText);
|
$this->processMenuSelection($user, $messageText);
|
||||||
} else {
|
} else {
|
||||||
// No usar las "respuestas rápidas" (autoresponses) automáticamente desde el bot.
|
// No usar las "respuestas rápidas" (autoresponses) automáticamente desde el bot.
|
||||||
|
|||||||
Reference in New Issue
Block a user