Descripción
Este módulo ofrece una gestión automatizada y flexible de los ganadores de eventos, lo que facilita el seguimiento de los eventos en el servidor, al tiempo que deja libertad al servidor para utilizar esta función de forma personalizada. Gracias a esta función, podrás utilizarla para otorgar permisos especiales, ofrecer ventajas exclusivas o simplemente reconocer a los miembros activos de tu comunidad.
Una vez indicado el título, la descripción, la imagen (opcional) y el nombre de la persona que creó el mensaje (opcional):
Obtendrás un mensaje de animación personalizado que se enviará automáticamente en el canal configurado en el archivo .env, como se muestra a continuación:
Puedes ver la lista y añadir ganadores de eventos mediante el comando slash /animation-add. Cada vez que se añaden días, se suman a los días restantes del miembro si ya era ganador de un evento anterior:
Cada día a las 23:59, el módulo comprueba si debe retirarse el rol de ganador de eventos al miembro.
❗ Importante
Sección titulada “❗ Importante”- El módulo no funcionará solo con la descarga de los archivos; debe integrarse en un bot de Discord ya funcional.
- Utilizamos Prisma como ORM para la gestión de la base de datos; asegúrate de que tu proyecto también use Prisma o adapta el código en consecuencia.
⚠️ Requisitos
Sección titulada “⚠️ Requisitos”- Un bot de Discord funcional con los permisos necesarios para registrar comandos slash.
- Conocimientos en desarrollo de bots de Discord (JavaScript) y gestión de bases de datos para poder usar y adaptar este script a tus necesidades.
Archivos/Carpetas
Sección titulada “Archivos/Carpetas”Directoriocommands
- animation-add.js Implementación del comando slash
/animation-add - animation-list.js Implementación del comando slash
/animation-list - animation-remove.js Implementación del comando slash
/animation-remove
Argumento obligatorio “id_user”: ID del usuario a eliminar de la lista de ganadores - animation-message.js Implementación del comando slash
/animation-message
Argumento opcional “id_role”: si se proporciona, el mensaje etiquetará con ese rol
Argumento opcional “id_message”: si se proporciona, el mensaje se modificará en lugar de crear uno nuevo
- animation-add.js Implementación del comando slash
Directorioevents
- interactionCreate.js Archivo de recuperación de interacciones
Directorioprisma
- schema.prisma Modelo de datos para el módulo (Prisma)
Directorioutils
Directorioarguments
- post-message.js Lista de argumentos para el comando de envío de mensaje de animación
- animation.js Funciones auxiliares para la gestión de ganadores
- index.js Punto de entrada del script
- .env Variables de entorno necesarias
- package.json Dependencias necesarias
Dependencias & Versiones
Sección titulada “Dependencias & Versiones”Estas son las versiones utilizadas para el desarrollo y las pruebas del script:
- @prisma/client@6.18.0
- discord.js@14.24.0
- dotenv@16.6.1
- node-schedule@2.1.1
- moment@2.30.1