Cómo publicar automáticamente imágenes en un canal de Discord

¿Administras un servidor de Discord y te gustaría publicar automáticamente imágenes en un canal específico a intervalos regulares sin mover un dedo? Este artículo te mostrará cómo cargar automáticamente imágenes en un canal de Discord utilizando la herramienta Discord-AIU y scripts personalizados.
Tabla de Contenidos
- Nuestro objetivo y herramientas
- Instalación de Discord-AIU
- Crear un punto final de webhook para tu canal
- Configurar la configuración de Discord-AUI
- Publicar automáticamente múltiples imágenes en Discord
- Programar Discord-AUI para ejecutarse a intervalos regulares
Nuestro objetivo y herramientas
Imagina que estás administrando un servidor de Discord dedicado al anime, y quieres mantener a tus miembros comprometidos con arte de fans fresco publicado todos los días. La idea parece simple de implementar: solo necesitas recordar publicar una imagen cada 24 horas, ¿verdad? Incorrecto. La vida se vuelve ocupada, y antes de que te des cuenta, tus miembros están gritando, preguntándose dónde ha ido su dosis diaria de bondad anime. Ahí es donde la automatización entra en juego para salvar el día – y tu cordura.
Para publicar automáticamente imágenes en tu canal de Discord, utilizaremos una combinación de herramientas y scripts. Nuestro objetivo principal es establecer un sistema que cargue regularmente imágenes en tu canal de Discord especificado sin intervención manual. Usaremos la herramienta Discord-AIU (Cargador Automático de Imágenes) como nuestra base, junto con algunos scripts personalizados para manejar la programación y el proceso de selección de imágenes.
Instalación de Discord-AIU
Ahora que hemos delineado nuestro objetivo, vamos a crear nuestro bot de carga de imágenes utilizando Discord-AIU. Primero, necesitarás descargar Discord-AIU desde su repositorio de GitHub. Te recomiendo que consigas la última versión y la descomprimas en un lugar adecuado. La herramienta está desarrollada en Python, por lo que puedes ejecutarla en cualquier sistema operativo importante.

Una vez que hayas descargado Discord-AIU, necesitas instalar las dependencias necesarias de Python. Si Python está instalado en tu sistema, puedes abrir tu terminal o símbolo del sistema, navegar al directorio de Discord-AIU y ejecutar el comando pdm install (también puede que necesites instalar PDM para ejecutarlo).

El comando instalará todos los paquetes requeridos para que la herramienta funcione correctamente, a saber pillow, python-dotenv y requests.
Crear un punto final de webhook para tu canal
El siguiente paso es crear un punto final de webhook en tu servidor de Discord. Este webhook es el punto de conexión entre Discord-AIU y tu servidor. Para hacer esto, abre la Configuración del Servidor y navega a la pestaña de Integraciones.

Haz clic en el botón Crear Webhook, y se te presentarán opciones para personalizar tu webhook. Puedes editar el avatar, elegir el canal donde se publicarán las imágenes y darle un nombre a tu webhook.

Después de configurar esto, puedes hacer clic en el botón Copiar URL del Webhook para obtener la URL del webhook recién creado.
Configurar la configuración de Discord-AUI
Con tu webhook configurado, es hora de configurar Discord-AIU. Abre la carpeta de Discord-AUI y navega a la subcarpeta src.

Allí, busca un archivo llamado discord_aiu.py y ábrelo en tu editor de texto favorito. Pega tu URL de Webhook en la opción de configuración correspondiente cerca de la parte superior del archivo. Debería verse algo así:
WEBHOOK_URL = "https://discord.com/api/webhooks//YOUR_WEBHOOK_TOKEN"También te recomiendo que modifiques la opción de configuración FOLDER_PATH según tus preferencias. Por defecto, está configurado como:
FOLDER_PATH = './images/'Esta ruta es relativa a la ubicación del archivo discord_aiu.py. En otras palabras, la carpeta “images” debe ser creada en el mismo directorio que el script discord_aiu.py. Siéntete libre de guardar el archivo y crear la carpeta ahora.
Publicar automáticamente múltiples imágenes en Discord
Para probar si Discord-AUI funciona como debería, coloca una o más imágenes de muestra en tu nueva carpeta de imágenes especificada. Luego, abre tu terminal o símbolo del sistema, navega al directorio de Discord-AIU y ejecuta el siguiente comando:
pdm run ./src/discord_aiu.pySi todo está configurado correctamente, deberías ver todas las imágenes de prueba aparecer en el canal de Discord designado en cuestión de momentos. También puedes mirar la salida de la herramienta, que debería decirte exactamente cuántas imágenes se han cargado con éxito.

El único problema es que el comando siempre carga todas las imágenes en la carpeta especificada en bloque. Si bien eso puede ser increíblemente útil y ahorrar tiempo si necesitas compartir muchas imágenes con tu comunidad, nuestro objetivo es cargar una imagen a la vez en Discord automáticamente a intervalos regulares. Afortunadamente, todo lo que necesitamos es un script personalizado.
Programar Discord-AUI para ejecutarse a intervalos regulares
Ahora que hemos confirmado que Discord-AUI funciona, automatizaremos el proceso para publicar imágenes a intervalos regulares. Crearemos un script que realice las siguientes tareas:
- Selecciona un archivo aleatorio de una carpeta de cola.
- Lo mueve a la carpeta de imágenes.
- Ejecuta la herramienta Discord-AUI.
- Mueve la imagen cargada a una carpeta de “cargadas”.
Si estás usando Windows, necesitarás crear un nuevo archivo de texto plano (puedes usar el Bloc de notas) y copiar y pegar el siguiente código:
$QUEUE_FOLDER="C:\path\to\Discord-AIU\src\queue"
$IMAGES_FOLDER="C:\path\to\Discord-AIU\src\images"
$UPLOADED_FOLDER="C:\path\to\Discord-AIU\src\uploaded"
$DISCORD_AIU_PATH="C:\path\to\Discord-AIU\src\discord_aiu.py"
# Seleccionar un archivo aleatorio de la cola
$RANDOM_FILE=Get-ChildItem-Path$QUEUE_FOLDER| Get-Random -Count1
if($RANDOM_FILE){
# Mover el archivo a la carpeta de imágenes
Move-Item-Path$RANDOM_FILE.FullName -Destination$IMAGES_FOLDER
# Ejecutar Discord-AIU
Set-Location-Path"C:\path\to\Discord-AIU"
pdm run $DISCORD_AIU_PATH
# Mover el archivo procesado a la carpeta de cargadas
$PROCESSED_FILE=Get-ChildItem-Path$IMAGES_FOLDER
Move-Item-Path$PROCESSED_FILE.FullName -Destination$UPLOADED_FOLDER
}Guarda el script como script.ps1 o algo similar (.ps1 es la extensión de los scripts de PowerShell).
Los usuarios de Linux y macOS pueden crear un archivo script.sh con el siguiente script bash:
#!/bin/bash
QUEUE_FOLDER="/path/to/Discord-AIU/src/queue"
IMAGES_FOLDER="/path/to/Discord-AIU/src/images"
UPLOADED_FOLDER="/path/to/Discord-AIU/src/uploaded"
DISCORD_AIU_PATH="/path/to/Discord-AIU/src/discord_aiu.py"
# Seleccionar un archivo aleatorio de la cola
RANDOM_FILE=$(find"$QUEUE_FOLDER"-type f | shuf -n1)
if[-n"$RANDOM_FILE"]; then
# Mover el archivo a la carpeta de imágenes
mv"$RANDOM_FILE""$IMAGES_FOLDER"
# Ejecutar Discord-AIU
cd/path/to/Discord-AIU && pdm run "$DISCORD_AIU_PATH"
# Mover el archivo a la carpeta de cargadas
mv"$IMAGES_FOLDER"/*"$UPLOADED_FOLDER"
fiNo olvides crear las carpetas necesarias y modificar las rutas para reflejar sus ubicaciones, así como la ubicación de la carpeta Discord-AIU en sí. También necesitas hacer que el script sea ejecutable usando el comando chmod +X /path/to/script.
Finalmente, necesitas programar el archivo script.ps1 (Windows) o el archivo script.sh (Linux y macOS) para que se ejecute automáticamente – digamos una vez al día.
Como usuario de Windows, puedes abrir el Programador de tareas buscando en el menú de inicio. Haz clic en Crear tarea básica en el panel derecho y dale un nombre a tu tarea, como “Cargador de imágenes de Discord”.

Elige Diario para el desencadenador y establece tu hora preferida. Para la acción, selecciona Iniciar un programa. En el campo Programa/script, ingresa “powershell”, y en el campo Agregar argumentos, ingresa -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1".

Si estás usando Linux o macOS, puedes abrir tu terminal y escribir
crontab -epara editar tus trabajos cron (también puedes usar sudo EDITOR=nano crontab -e para usar el editor Nano en lugar de Vim).
Agrega una nueva línea para ejecutar el script diariamente a las 12:00 PM (mediodía), que se verá así:
012***/path/to/your/script.shGuarda y sal del editor.
Con estos pasos completados, tu script elegido se ejecutará automáticamente todos los días, manteniendo tu canal de Discord fresco con nuevas imágenes. Solo recuerda mantener tu carpeta de cola abastecida con nuevas imágenes para asegurar un flujo constante de contenido. Si deseas hacer que tu servidor sea un lugar aún más entretenido para visitar, entonces puedes seguir aprendiendo cómo convertir tu Raspberry Pi en una estación de radio de Discord.
Imagen y capturas de pantalla por David Morelo.