Skip to content

Commit 89ff083

Browse files
committed
docs: update README with modern architecture, uv and environment setup instructions
1 parent 0b7cd90 commit 89ff083

1 file changed

Lines changed: 33 additions & 6 deletions

File tree

README.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,39 @@
1-
# dcubabot
1+
# DC-UBA Bot
22

3-
La idea de este repositorio es migrar desde el viejo repositorio las funcionalidades que tiene el bot de forma estructurada, prolija y segura. Muy pronto traeremos bardearmarto, tranquilos.
3+
Este repositorio contiene el código fuente del Bot Oficial de Telegram de los estudiantes del Departamento de Computación de la UBA.
44

5-
Mientras seguimos la migración todos son libres de colaborar con pull requests.
5+
La arquitectura actual está basada en **Google Cloud Run** (Serverless), **FastAPI** para el manejo de webhooks, y **Python 3.11** empaquetado con **uv**.
66

7-
Para probar el bot en acción en Telegram es necesario crear un archivo `tokenz.py` que asigne a la variable `token` el token del bot con el que se desea hacer las pruebas.
7+
## 🛠️ Desarrollo Local
8+
9+
El proyecto ya no utiliza `requirements.txt` clásico, sino que está modernizado con `uv` para instalaciones súper rápidas y reproducibles.
10+
11+
Para instalar las dependencias y configurar el entorno:
12+
13+
```bash
14+
# 1. Instalar uv (si no lo tenés)
15+
curl -LsSf https://astral.sh/uv/install.sh | sh
16+
17+
# 2. Sincronizar el entorno virtual (crea .venv y descarga todo)
18+
uv sync
19+
20+
# 3. Activar el entorno virtual
21+
source .venv/bin/activate
22+
```
23+
24+
Para probar el bot de manera local, es necesario configurar las variables de entorno de acceso (Telegram, Base de Datos, etc.):
825

9-
Para instalar las dependecias correr lo siguiente:
1026
```bash
11-
$ pip3 install -r requirements.txt
27+
export TELEGRAM_BOT_TOKEN="TU_TOKEN_DE_PRUEBA"
28+
export WEBHOOK_URL="TU_URL_DE_NGROK_O_LOCAL"
29+
export DB_URL="postgresql://..."
30+
31+
python main.py
1232
```
33+
34+
## ☁️ Deploy
35+
36+
El deploy a producción está 100% automatizado mediante GitHub Actions y empaquetado en una imagen `distroless` ultra segura de Debian 12.
37+
Al realizar un push o merge a la rama `main`, la infraestructura se compila y se despliega directamente en Google Cloud Run sin intervención manual.
38+
39+
> **NOTA:** Las tareas programadas (como `/felizdia` o avisos de eventos) se ejecutan mediante invocaciones de Cloud Scheduler al script `cron.py` empaquetado como un Cloud Run Job.

0 commit comments

Comments
 (0)