Files
hechakuaa_bot/README.md
markosbenitez 7743919695 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>
2026-05-25 10:58:32 -03:00

124 lines
3.0 KiB
Markdown

# Pedrito Hechakuaa
Monitor de notificaciones del Poder Judicial de Paraguay vía Telegram.
Te avisa cuando aparecen notificaciones nuevas en tu cuenta del sistema del PJ.
## Setup en 5 pasos
### 1. Prerequisitos
- Python 3.12+
- Una cuenta en Telegram
- Un bot de Telegram creado con [@BotFather](https://t.me/BotFather)
- Tu chat_id de Telegram (obtenerlo con [@userinfobot](https://t.me/userinfobot))
- Credenciales del sistema del PJ (`apps.csj.gov.py`)
### 2. Instalar
```bash
# Entrar a la carpeta del proyecto
cd pedrito-hechakuaa
# Instalar dependencias (recomendado: uv)
pip install uv
uv sync
```
### 3. Configurar
```bash
# Copiar el template
cp .env.example .env
# Generar una clave de cifrado (guardarla en un lugar seguro también)
uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
# Copiar el resultado en FERNET_KEY= dentro de .env
# Editar .env y completar:
# - FERNET_KEY (la que generaste arriba)
# - TELEGRAM_BOT_TOKEN (de @BotFather)
# - TELEGRAM_CHAT_ID (de @userinfobot)
```
### 4. Cifrar las credenciales del PJ
```bash
uv run python scripts/cifrar_credenciales.py
```
Te va a pedir la cédula y contraseña del PJ, las cifra con Fernet, y actualiza
`PJ_USUARIO_ENC` y `PJ_PASSWORD_ENC` en tu `.env`. Nunca escribe las
credenciales en plano.
### 5. Arrancar
```bash
uv run python main.py
```
El bot va a:
1. Conectarse al PJ y revisar tus notificaciones actuales
2. Mandarte un mensaje en Telegram con el estado inicial
3. Revisar cada hora en horario hábil (lunes-viernes, 7-18h)
4. Avisarte en Telegram cuando aparezca algo nuevo
## Comandos de Telegram
| Comando | Función |
|---------|---------|
| `/start` | Ver estado del bot |
| `/notif` | Revisar notificaciones ahora (no esperar la próxima hora) |
| `/estado` | Ver último chequeo y estadísticas |
| `/ayuda` | Lista de comandos |
## Correr como servicio (opcional)
Si querés que corra en background en tu Mac o en un servidor:
**Con screen (más simple):**
```bash
screen -S pedrito
python main.py
# Ctrl+A, D para detach
# screen -r pedrito para volver
```
**Con systemd en Linux:**
```ini
# /etc/systemd/system/pedrito.service
[Unit]
Description=Pedrito Hechakuaa - monitor judicial
After=network.target
[Service]
Type=simple
WorkingDirectory=/ruta/al/pedrito-hechakuaa
ExecStart=/usr/bin/python3 main.py
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl enable pedrito
sudo systemctl start pedrito
```
## Seguridad
- Las credenciales del PJ se cifran con Fernet (AES-128-CBC con HMAC)
- `.env` nunca se commitea (está en `.gitignore`)
- El bot solo responde al `TELEGRAM_CHAT_ID` que configuraste
- El bot es read-only: nunca acusa notificaciones ni tiene efectos procesales
## Migración a v1
Cuando estés listo para la arquitectura completa (multi-tenant, LLM conversacional,
web de onboarding), ver el directorio `../pedrito-hechakuaa/` con el diseño completo.
La v0 está pensada para migrar incrementalmente: cada módulo tiene el mismo
contrato que su equivalente en v1.