Saltar al contenido

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

Imagen de añadir un mensaje de animación

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:

Imagen del mensaje de animació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:

Imagen del comando de añadir ganador de animación

Cada día a las 23:59, el módulo comprueba si debe retirarse el rol de ganador de eventos al miembro.

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

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