# Agoras Python CLI: Software libre para automatizar tus redes desde la terminal

Canonical URL: https://luisalejandro.org/blog/posts/agoras-python-cli-software-libre-para-automatizar-tus-redes-desde-la-terminal

Published: 2025-11-25

Categories: Desarrollo de Software y Automatización

Gestionar la presencia en redes sociales cuando estás enfocado en escribir código puede ser un dolor de cabeza que rompe tu estado de _flow_. Si eres como yo, probablemente odias tener que salir de la terminal, abrir el navegador, loguearte en Twitter o LinkedIn y pegar manualmente el enlace de tu último _deploy_ o artículo. El cambio de contexto es costoso y, honestamente, aburrido. Aquí es donde entra **agoras**, una utilidad de línea de comandos (CLI) escrita en Python que te permite automatizar y gestionar tus publicaciones en redes sociales directamente desde donde te sientes más cómodo: tu consola.

Este proyecto de software libre soluciona el problema de la fragmentación al ofrecer una interfaz unificada para interactuar con Twitter, Facebook, Instagram, LinkedIn, Discord e incluso TikTok. En lugar de lidiar con múltiples GUIs pesadas y llenas de distracciones, [agoras](https://agoras.luisalejandro.org/en/latest/) te permite "scriptear" tu difusión. Imagina terminar un _release_, correr un script en bash y que automáticamente se publique el anuncio en todos tus canales. A continuación, te explico cómo instalarlo y empezar a usarlo para recuperar el control de tu tiempo.

### 1. Instalación rápida con pip

Como buen desarrollador Python, sabrás que la forma más directa de obtener herramientas es a través del gestor de paquetes. **Agoras** está alojado en PyPI, por lo que la instalación es trivial y no requiere configuraciones complejas iniciales.

Abre tu terminal y ejecuta el siguiente comando para instalar la versión estable:

```bash
pip install --upgrade agoras
```

✅ **Correcto:** Si prefieres mantener tu entorno global limpio, te recomiendo encarecidamente usar una herramienta como `pipx` para instalar ejecutables de Python, o hacerlo dentro de un entorno virtual (`venv`).

Si por alguna razón necesitas la versión de desarrollo (aunque para producción te sugiero quedarte en la estable), puedes instalarla directamente desde el repositorio:

```bash
pip install --upgrade https://github.com/LuisAlejandro/agoras/archive/develop.tar.gz
```

### 2. Explorando el comando publish

El núcleo de esta herramienta es el subcomando `publish`. Este es el caballo de batalla que utilizarás para enviar contenido a tus redes. Antes de lanzar nada a producción, es buena práctica revisar la ayuda integrada para entender los argumentos requeridos.

Ejecuta esto para ver todas las opciones disponibles:

```bash
agoras publish --help
```

Verás que el CLI es bastante robusto. Te permite especificar el nivel de _logging_ (útil para _debuggear_ si algo falla con las APIs), la red social objetivo (`-n` o `--network`), y la acción a realizar (`-a` o `--action`), que puede ser desde postear hasta borrar o programar contenido.

### 3. Publicando un estado (Ejemplo práctico)

Para publicar, necesitarás pasarle a **agoras** tanto el contenido del mensaje como las credenciales de la API de la red social correspondiente. Aunque pasar las claves por línea de comandos puede parecer verboso, es excelente para integrarlo en sistemas de CI/CD (que veremos más adelante).

Aquí tienes un ejemplo de cómo se estructuraría un comando para publicar un texto simple en Twitter. Nota cómo usamos las _flags_ para pasar los _tokens_ necesarios:

```bash
agoras publish \
  --network twitter \
  --action post \
  --status-text "¡Hola mundo! Publicando desde mi terminal con agoras 🚀" \
  --twitter-consumer-key "TU_CONSUMER_KEY" \
  --twitter-consumer-secret "TU_CONSUMER_SECRET" \
  --twitter-oauth-token "TU_OAUTH_TOKEN" \
  --twitter-oauth-secret "TU_OAUTH_SECRET"
```

❌ **Incorrecto:** No hardcodees tus credenciales directamente en tus scripts si vas a subirlos a un repositorio público. Usa variables de entorno o gestores de secretos.

Además de texto plano con `--status-text`, la herramienta te permite adjuntar imágenes mediante `--status-image-url-1`, `--status-image-url-2`, etc., o enlaces con `--status-link`. Esto es genial para automatizar la promoción de nuevos artículos de tu blog.

### 4. Automatización y CI/CD

Lo que realmente me entusiasma de **agoras** no es solo usarlo manualmente, sino su potencial para la automatización. El proyecto menciona explícitamente la existencia de [GitHub Actions](https://github.com/LuisAlejandro/agoras-actions), lo que significa que puedes integrar esto en tus _workflows_ de GitHub.

Imagina este flujo: haces un `git push` a tu rama principal con un nuevo post en tu blog estático, y automáticamente GitHub Actions dispara **agoras** para publicarlo en Twitter y LinkedIn.

Si quieres ir más allá de las redes sociales tradicionales, la documentación indica soporte para leer de hojas de cálculo de Google (`--google-sheets-id`), lo que te permitiría crear un calendario de contenidos en Sheets y que **agoras** lo lea y ejecute.

Para usar estas funcionalidades avanzadas, asegúrate de revisar la documentación sobre cómo obtener los _tokens_ específicos para cada plataforma (Facebook, Instagram, LinkedIn, etc.), ya que cada una tiene sus peculiaridades de autenticación.

---

Otros proyectos en [mi perfil de GitHub](https://github.com/LuisAlejandro).