up
This commit is contained in:
@@ -237,6 +237,27 @@ class BotService {
|
||||
case 'cancelar':
|
||||
$this->exitMenu($phoneNumber);
|
||||
return true;
|
||||
|
||||
case 'atras':
|
||||
case 'atrás':
|
||||
case 'volver':
|
||||
case 'back':
|
||||
try { error_log("[BotService] processSpecialCommands - detected BACK command in global handler for phone={$phoneNumber}"); } catch (Throwable $t) {}
|
||||
// Resolver current_menu_id desde users y decidir la acción más adecuada
|
||||
try {
|
||||
$cur = $this->db->fetch("SELECT current_menu_id FROM users WHERE phone_number = :phone", ['phone' => $phoneNumber]);
|
||||
$currentMenuId = $cur ? $cur['current_menu_id'] : null;
|
||||
} catch (Exception $e) {
|
||||
$currentMenuId = null;
|
||||
}
|
||||
|
||||
if (!empty($currentMenuId)) {
|
||||
$this->goToParentMenu($phoneNumber, $currentMenuId);
|
||||
} else {
|
||||
// Intentar usar historial
|
||||
$this->goToPreviousMenu($phoneNumber);
|
||||
}
|
||||
return true;
|
||||
|
||||
case 'asesor':
|
||||
case 'ayuda':
|
||||
|
||||
@@ -243,8 +243,9 @@ class ConversationStateService
|
||||
* @param int $menuId
|
||||
* @return bool
|
||||
*/
|
||||
public function setCurrentMenu(string $phoneNumber, int $menuId): bool
|
||||
public function setCurrentMenu(string $phoneNumber, ?int $menuId): bool
|
||||
{
|
||||
// Allow null to clear current_menu_id
|
||||
return $this->updateStateData($phoneNumber, ['current_menu_id' => $menuId]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user