Initial commit — Pedrito Hechakuaa v0
Bot de Telegram para monitoreo de notificaciones judiciales del PJ Paraguay. Multi-tenant con onboarding conversacional, audit log, y polling automático. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
127
PROMPT_CLAUDE_CODE_EXP.md
Normal file
127
PROMPT_CLAUDE_CODE_EXP.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# Prompt para Claude Code — Agregar comando /exp al bot
|
||||
|
||||
## Tarea
|
||||
|
||||
Agregar la feature "detalle de expediente por número" al bot de Telegram.
|
||||
|
||||
## Contexto
|
||||
|
||||
El reconocimiento del 22/05/2026 confirmó todos los endpoints necesarios.
|
||||
Ver `csj_client_nuevos_metodos.py` en la raíz del proyecto — tiene el código
|
||||
listo para integrar con documentación inline.
|
||||
|
||||
## Cambios requeridos
|
||||
|
||||
### 1. En `csj_client.py`
|
||||
|
||||
a) Agregar después de la clase `NotificacionPendiente`:
|
||||
- Clase `CasoJudicial` (ver `csj_client_nuevos_metodos.py`)
|
||||
- Clase `ActuacionCaso` (ver `csj_client_nuevos_metodos.py`)
|
||||
|
||||
b) Agregar dentro de la clase `CSJClient`:
|
||||
- Método `buscar_expedientes()` (ver `csj_client_nuevos_metodos.py`)
|
||||
- Método `listar_actuaciones()` (ver `csj_client_nuevos_metodos.py`)
|
||||
|
||||
c) El import de `httpx` ya existe. No agregar dependencias nuevas.
|
||||
|
||||
### 2. En `telegram_bot.py`
|
||||
|
||||
Agregar el comando `/exp` con este comportamiento:
|
||||
|
||||
```
|
||||
/exp 198 → busca número 198 sin filtrar por año
|
||||
/exp 198/2026 → busca número 198, año 2026
|
||||
/exp carlos → busca por carátula (texto, no número)
|
||||
```
|
||||
|
||||
**Mensaje de respuesta cuando encuentra un expediente:**
|
||||
|
||||
```
|
||||
📂 Exp. {numero}/{anio}
|
||||
{caratula}
|
||||
{circunscripcion} | {estado}
|
||||
|
||||
Últimas actuaciones:
|
||||
• {fecha} — {tipo}: {descripcion_actuacion}
|
||||
• {fecha} — {tipo}: {descripcion_actuacion}
|
||||
• {fecha} — {tipo}: {descripcion_actuacion}
|
||||
|
||||
({total} actuaciones en total)
|
||||
```
|
||||
|
||||
Mostrar máximo 3 actuaciones más recientes (las primeras del response,
|
||||
que ya vienen ordenadas por fecha descendente).
|
||||
|
||||
**Cuando encuentra múltiples expedientes** (búsqueda por carátula):
|
||||
|
||||
```
|
||||
Se encontraron {N} expedientes para "{búsqueda}":
|
||||
|
||||
1. Exp. {numero}/{anio} — {caratula_truncada_50_chars}
|
||||
{circunscripcion} | {estado}
|
||||
|
||||
2. ...
|
||||
|
||||
Para ver detalle: /exp {numero}/{anio}
|
||||
```
|
||||
|
||||
Mostrar máximo 5 resultados. Si hay más, indicar cuántos hay en total.
|
||||
|
||||
**Cuando no encuentra nada:**
|
||||
|
||||
```
|
||||
No encontré expedientes para "{búsqueda}".
|
||||
Probá con la carátula o con número/año.
|
||||
```
|
||||
|
||||
### 3. En `CLAUDE.md`
|
||||
|
||||
Agregar `/exp` a la lista de comandos de Telegram.
|
||||
|
||||
## Parsing del argumento del comando
|
||||
|
||||
```python
|
||||
def parsear_argumento_exp(arg: str) -> dict:
|
||||
"""
|
||||
Parsea el argumento del comando /exp.
|
||||
|
||||
Retorna dict con claves posibles:
|
||||
- numero (int): número de expediente
|
||||
- anio (int): año del expediente
|
||||
- caratula (str): texto para buscar por carátula
|
||||
|
||||
Ejemplos:
|
||||
"198" → {"numero": 198}
|
||||
"198/2026" → {"numero": 198, "anio": 2026}
|
||||
"carlos" → {"caratula": "carlos"}
|
||||
"198/26" → {"numero": 198, "anio": 2026} # año de 2 dígitos → 2000+anio
|
||||
"""
|
||||
```
|
||||
|
||||
## Notas importantes
|
||||
|
||||
- Usar `scrub()` de `utils/sanitize.py` en cualquier log que incluya
|
||||
contenido de respuestas del PJ
|
||||
- El comando solo responde al `TELEGRAM_CHAT_ID` autorizado (igual que el resto)
|
||||
- Si `listar_actuaciones()` falla pero `buscar_expedientes()` tuvo éxito,
|
||||
mostrar igual los datos del caso sin actuaciones (degradación elegante)
|
||||
- `incluirNotificaciones=false` siempre (no mezclar con notificaciones)
|
||||
- Truncar carátulas largas a 60 caracteres con "..." en listados
|
||||
- Fechas en formato DD/MM/YYYY
|
||||
|
||||
## Qué NO hacer
|
||||
|
||||
- No agregar paginación interactiva (botones "siguiente página") en esta versión
|
||||
- No agregar descarga de documentos en esta versión
|
||||
- No cambiar nada del flujo de notificaciones existente
|
||||
- No agregar dependencias nuevas
|
||||
|
||||
## Verificación
|
||||
|
||||
Después de implementar, verificar:
|
||||
- [ ] `/exp 198` responde con el caso correcto
|
||||
- [ ] `/exp 198/2026` responde con el caso correcto
|
||||
- [ ] `/exp carlos` muestra lista de casos con "carlos" en carátula
|
||||
- [ ] `/exp 999999/1900` responde "No encontré expedientes"
|
||||
- [ ] Sin credenciales en logs (verificar con LOG_LEVEL=DEBUG)
|
||||
- [ ] Agrega `/exp` a la lista de comandos en CLAUDE.md
|
||||
Reference in New Issue
Block a user