Skip to content
This repository has been archived by the owner on Jun 2, 2021. It is now read-only.
/ Aya Public archive

Bot de Discord para gestionar votaciones ponderadas

License

Notifications You must be signed in to change notification settings

GDUMA/Aya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Importante ⚠️ Debido a cambios en nuestro sistema de votación dejamos de necesitar este bot y pasamos a archivarlo


Consejo Informática UMA
Aya

Bot de Discord desarrollado para las votaciones de Junta del Consejo de Informática de la UMA utilizando Discord.Net.

GitHub last commit GitHub top language GitHub

CaracterísticasInstalaciónConfiguraciónEstadosRolesLicencia

Características

  • Permite votar a hasta 15 candidatos, asignándole a cada uno una puntuación única del 1 al 15.
  • Rol de administrador
    • Encargado de manejar la votación
  • Rol de votante
    • Podrán presentarse a candidato y votar
  • Multiplataforma
    • Windows, macOS y Linux.

Instalación

Para clonar y ejecutar el bot necesitarás Git y .NET Core 3.1 instalado.

Puedes hacerlo ejecutando los siguientes comandos en un terminal:

# Clona este repositorio
git clone https://github.com/GDUMA/Aya

# Ve a la carpeta del proyecto
cd Aya

# Instala las dependencias
dotnet restore

# Ejecuta el bot
dotnet run

También es posible ejecutar el bot desde tu IDE si este soporta el desarrollo en .NET

Para generar un ejecutable recomendamos seguir la documentación de .NET Core donde vienen explicadas las distintas formas de hacerlo.

Configuración

En la primera ejecución se creará el archivo config.json, donde habrá que modificar el token del bot.

Este es el contenido por defecto:

{
  "Token": "your-token"
}

Para obtener tu token deberás primero tener una aplicación de Discord, la cual se puede crear en el portal para desarrolladores de Discord. El token se encuentra en el apartado Bot dentro de la configuración de la aplicación.

Estados

La votación dispone de varios estados definidos que permiten o no la ejecución de ciertas acciones por parte de los usuarios. La mayoría de los estados pueden ser controlados por el moderador:

  • Waiting: La votación se acaba de crear, únicamente muestra el título y una descripción. A la espera del moderador para comenzar.
  • Registering: Los miembros con el rol de votante pueden presentarse a candidato reaccionando con 📝. Pueden cancelar si borran la reacción. Espera al moderador para avanzar de estado.
  • SendingMessages: El bot comienza a enviar mensajes privados a todos los votantes con un intervalo de 0.8 segundos. Al mismo tiempo el bot comenzará a leer los mensajes privados por si alguien comienza a votar. Avanzará al siguiente estado automáticamente una vez enviados los mensajes.
  • Voting: En este estado se muestra la cantidad de votantes que han votado y es cuando se espera a que se termine de votar. El modarador es quien avanza al próximo estado.
  • ProcessingResults: Literalmente no hace nada. El moderador tiene que avanzar al siguiente estado.
  • Finished: La votación ha terminado y mostrará los resultados ordenados por puntuación.

Roles

El interactuará únicamente con los usuarios que tengan los roles de moderador y votante explicados más adelante. El ID de los roles está definido en Constants.cs. Para obtener el ID de un rol en Discord hay que mencionar el rol añadiendo una barra invertida al principio, \@rol. Esto escribirá un mensaje que mostrará el ID del rol siguiendo el formato <@&ROL_ID>, de donde se puede copiar el ID del rol.

Moderador

Es el encargado de manejar la votación. Puede iniciar votaciones con el comando newpoll <título> y avanzar los estados descritos anteriormente reaccionando con ➡️, tal y como se indica en el archivo Constants.cs

Votante

Los usuarios con este rol podrán votar y presentarse a candidato. Para presentarse a candidato deberá reaccionar con 📝 a la votació durante el estado Registering . Podrar retractarse de su cadidatura eliminando la reacción mientras se siga en el mismo estado. Cuando se pasa al siguiente estado, SendingMessages, recibirá las instrucciones y podrá comenzar a votar. Tal y como se indica en dicho mensaje, el voto solo se guarda cuando se reacciona con ✅. voter message

Licencia

MIT

About

Bot de Discord para gestionar votaciones ponderadas

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages