06-sep: [menu] pendiente con slash vuelve al menu + categoria segun comando

This commit is contained in:
juanjo
2026-09-06 17:33:50 +02:00
parent b75f71e8aa
commit d77a25cfb4
2 changed files with 32 additions and 1 deletions

View File

@@ -475,6 +475,27 @@ def volver_al_menu(chat_id, categoria=None):
_reenviar_menu(chat_id, categoria) _reenviar_menu(chat_id, categoria)
def categoria_de(comando):
"""Categoria del menu a la que pertenece un comando de texto."""
mapa = {
"busca": "videoclub", "pelicula": "videoclub",
"serie": "videoclub", "novedades": "videoclub",
"torrents": "videoclub", "bajar": "videoclub",
"genero": "videoclub",
"tv": "tv", "alarma": "tv", "youtube": "tv",
"descargar": "nas", "descargas": "nas", "borrar": "nas",
"parental": "parental",
"termo": "termo", "pantalla": "pantalla",
"aspiradora": "aspi", "meross": "mesillas",
"router": "router", "aimesh": "sistema", "qos": "sistema",
"limite": "sistema", "seguridad": "sistema",
"estado": "sistema", "temperatura": "sistema",
"panorama": "sistema", "limpieza": "sistema",
"limpiar": "sistema",
}
return mapa.get((comando or "").lower().strip())
def _teclado_categoria(chat_id, categoria): def _teclado_categoria(chat_id, categoria):
teclados = { teclados = {
"videoclub": lambda: teclado_videoclub(chat_id), "videoclub": lambda: teclado_videoclub(chat_id),

View File

@@ -403,6 +403,14 @@ def procesar(texto, chat_id):
menu_idd.cancelar_pendiente(chat_id) menu_idd.cancelar_pendiente(chat_id)
if t in ("cancelar", "cancel", "salir"): if t in ("cancelar", "cancel", "salir"):
return return
# Venia del menu: procesar y devolver al menu.
procesar(texto, chat_id)
try:
menu_idd.volver_al_menu(chat_id,
menu_idd.categoria_de(comando))
except Exception:
pass
return
elif menu_idd.pendiente_activo(chat_id): elif menu_idd.pendiente_activo(chat_id):
if menu_idd.resolver_pausa_minutos(chat_id, texto): if menu_idd.resolver_pausa_minutos(chat_id, texto):
return return
@@ -414,7 +422,9 @@ def procesar(texto, chat_id):
if cmd: if cmd:
procesar(cmd, chat_id) procesar(cmd, chat_id)
try: try:
menu_idd.volver_al_menu(chat_id) menu_idd.volver_al_menu(
chat_id,
menu_idd.categoria_de(cmd.split(None, 1)[0]))
except Exception: except Exception:
pass pass
return return