Este bot de discord está pensado para usarse principalmente en el discord de la materia Algoritmos y Programación I, de la Facultad de Ingeniería de la UBA, aunque puede utilizarse para cualquier servidor que lo quiera.
-
Nombre Versión Extra Info. discord.py 2.2.2 python-dotenv 1.0.0 -
índice
Pararse dentro de la carpeta run
, o de la carpeta raíz, y ejecutar uno de los dos
archivos presentes en run
, según el SO.
@REM para Windows
cd run
./run.bat
# para Linux u otro entorno de shell
cd run
./run.sh
Version |
---|
v1.4.1 |
v1.4.0 |
v1.3.0 |
v1.2.1 |
v1.2.0 |
v1.1.0 |
v1.0.4 |
v1.0.3 |
v1.0.2 |
v1.0.1 |
v1.0.0 |
-
Actualizadas las dependencias.
- discord.py (2.1.0 → 2.2.2)
- python-dotenv (0.2.1 → 1.0.0)
-
Uso de
typing.Union
en vez de|
para un poco retrocompatibilidad.
- Arreglados bugs con el menu de
/ej
, en donde el menu de unidades no funcionaba para las unidades2
y12
. - Actualizada la versión de la guía. Ahora utiliza la revisión del 6 de Marzo de 2022 bajo el nombre
1c2022
.- Cambiada una palabra del ejercicio 1.6.b).
- Expandido el enunciado del ejercicio 7.11.
- Nuevo ejercicio 7.13.
- Comando
/meme
removido. Cayó en desuso y no era rentable mantener las claves. - Comandos
/whatsnew
y/rps
removidos. - Mejorada la lógica de archivos. Ahora usan búsqueda recursiva e instancias de la clase
pathlib.Path
, en vez de las funciones deos.path
. - Ahora se usa una DB de SQLite3, en vez de un módulo de constantes.
-
Puesto que discord.py ha continuado su mantenimiento, y las features que promete traer son preferidas, se ha decidido en buena fe volver a usar esta librería.
-
Agregados los slash commands.
-
Agregado nuevo comando
reboot
. Ahora se puede reiniciar el bot sin tener que apagarlo manualmente.
- Simplificados algunos imports en las pruebas y en el main. No deberían tener nombres redundantes.
- Agregados scripts ejecutables. Ahora debería ser más intuitivo correr el bot.
-
Migración a Pycord. La librería que se venía usando, discord.py, cesó su mantenimiento, y por lo tanto el bot migró a usar pycord, un fork de discord.py casi idéntico y más actualizado.
-
Reformados los comandos. Ahora hace uso de
Cogs
para mejor organización de los mismos. -
Modularización. Siguiendo la mejora de solidez técnica descrita arriba, muchas funciones y clases fueron separadas en sus propios módulos.
-
Algunos Comandos ahora usan
Embeds
. Esto permite una presentación más prolija.
Esta versión introduce una nueva imagen para el bot, manejo de imágenes por
Imgur, para mejor experiencia de memes. También se introducen menús contextuales para ej
y guia
.
-
¡Nuevo Logo! Las referencias se encuentran en la carpeta de imágenes.
-
Hace uso de
imgur-python
para manejar imágenes a través del bot de Discord. -
Nuevo Archivo
cliente_imgur.py
para guardar la lógica de la aplicación que representa el cliente de Imgur. -
Ahora el comando
meme
ya no acepta ids de links. Sin embargo, ahora acepta que se le pase el índice de meme si se quiere uno en concreto de la colección en Imgur. -
Nuevo parámetro
add
para el comandomeme
. Con esto, si el mensaje que envía el comando refiere a una imagen, se agrega esta a la colección de memes. -
Nuevo Archivo
interfaces.py
en donde guardar las interfaces usadas en los mensajes del bot. -
Ahora
guia
tiene un menú contextual. Permite seleccionar más intuitivamente las versiones de la guía, y se llama conguia
sin parámetros. -
Similarmente con
ej
, ahora este tiene no sólo también un menú selector, si no también hace uso de botones para navegar por los ejercicios. -
Agregado banco entero de palabras en español para el ahorcado. Ahora hay
80946
combinaciones posibles. Unas pocas más. -
El bot ahora es más ¿...competitivo?
Esta versión tiene más que nada mantenimiento y mejoras internas:
-
Mejorada la forma de registrar eventos. Ahora hace uso del módulo
logging
para registrar eventos en la ejecución del bot. -
Nuevo archivo
lector.log
para guardar dichos registros.
-
Agregado una actividad
!info
en el estado del bot. -
Agregados nuevos mensajes de error para excepciones del comando
ej
.
- Mejorado un poco el código. Ahora el cuerpo del código sigue mejor las convenciones de python.
- Agregadas algunas que otras palabras nuevas que pueden tocar en el ahorcado.
- Agregado comando
clear
para limpiar mensajes del bot.
-
Ahora el bot proviene de una clase
CustomBot
que sobrecarga a la clase de Discordcommands.Bot
. Esto es para contener información persistente, pero los comandos siguen siendo definidos mediante decoradores. -
Mejoradas las type hints de varias funciones y la documentación en general.
-
La estructura del lector de la guía es más flexible y configurable y no depende de valores hardcodeados como antes.
-
Nuevo comando
prefix
con el que cambiar el prefijo del comando. Puede configurarse por separado para cada servidor. -
Nuevo comando
guia
con el que configurar la revisión de la guía de ejercicios a utilizar (por defecto actualmente se utiliza la versión2c2019
). De nuevo, la configuración de cada servidor es independiente de las otras. Por ahora la única versión disponible es2c2019
, pero añadido está el soporte para futuras revisiones de la guía. -
Ahora el comando
info
muestra también la versión de la guía. -
Aún más memes. Muuuchos más.
-
¡Introducido el juego 'hanged' (ahorcado)!. Se invoca mediante el nuevo comando
hanged
o su aliasahorcado
. Hace uso de los nuevos hilos en Discord, introducidos en la API 2.0. -
El juego de ahorcado tiene su propia clase, en un archivo separado, y los datos de las partidas se mantienen dentro de la clase
CustomBot
. Hace uso de un archivo.txt
separado para generar las palabras. -
meme
ahora soporta también que se le pase el ID del meme, por si se quiere uno en concreto (aunque no funciona si el link no comienza conhttps://i.imgur.com
)