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

Imagen de portada de carga automática de imágenes en 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.

Descargar Discord Aiu Desde Github

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).

Instalación de dependencias de Discord Aiu

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.

Crear Webhook en Discord

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.

Copiar URL del Webhook de Discord

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.

Subcarpeta Src de Discord Aiu

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.py

Si 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.

Discord Aiu

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:

  1. Selecciona un archivo aleatorio de una carpeta de cola.
  2. Lo mueve a la carpeta de imágenes.
  3. Ejecuta la herramienta Discord-AUI.
  4. 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"  
fi

No 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”.

Programador de tareas de Windows Crear tarea básica

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".

Crontab Macos

Si estás usando Linux o macOS, puedes abrir tu terminal y escribir

crontab -e

para 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.sh

Guarda 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.