|
| 1 | +# Changelog |
| 2 | + |
| 3 | +Historial con detalles de cambios entre versiones del asistente. |
| 4 | + |
| 5 | +| | | | | Version | |
| 6 | +|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:| |
| 7 | +| | | | [1.4.1](#v141) |**[2.0.0](#v200)**| |
| 8 | +| | | | |**[1.4.0](#v140)**| |
| 9 | +| | | | [1.2.1](#v121) |**[1.3.0](#v130)**| |
| 10 | +| | | | |**[1.2.0](#v120)**| |
| 11 | +| [1.0.1](#v101) | [1.0.2](#v102) | [1.0.3](#v103) | [1.0.4](#v104) |**[1.1.0](#v110)**| |
| 12 | +| | | | |**[1.0.0](#v100)**| |
| 13 | + |
| 14 | +<hr/> |
| 15 | + |
| 16 | +## v2.0.0 |
| 17 | + |
| 18 | +* **El bot ahora se llama *"Asistente de Fundamentos"*, ya no *"Lector de Ejercicios"***. Esto es para ser más conforme con futuras características. |
| 19 | +* **¡Nuevo logo!** Los _assets_ de versiones anteriores todavía se encuentran bajo el nombre de [v1](./img/logo/v1/). |
| 20 | +* Cambiados los estilos de nombre de guías de `1c2024` a `2024C1`. |
| 21 | +* **Actualizada la versión de la guía** a la revisión del 7 de Marzo de 2024, bajo la denominación `2024C1`. |
| 22 | + - Ediciones en el enunciado del ejercicio **11.2**. |
| 23 | + - El enunciado del ejercicio **11.6** fue reemplazado por otro completamente distinto. |
| 24 | + - Nuevo ejercicios **11.7** y **11.8**. |
| 25 | + - El enunciado del ejercicio **17.11** fue reemplazado por otro diferente. |
| 26 | + - Nuevos ejercicios del **17.12** al **17.18**. |
| 27 | +* **Actualizadas las dependencias.** |
| 28 | + - discord.py (2.2.2 → **2.5.2**) |
| 29 | + - python-dotenv **fue eliminada**. |
| 30 | +* Remodularizados los módulos `main` y `tests` del proyecto. Ahora están como carpetas aparte en el directorio raíz. |
| 31 | + - `main` ahora se llama `asistente`, para ser consistente con la nueva forma de invocar al bot. |
| 32 | +* Limpiada toda mención de los "prefijos". Ahora el bot usa exclusivamente _app commands_ con `/`. |
| 33 | +* Mejores mensajes de error para los Cogs de comandos. |
| 34 | +* **La base de datos ya no se sube.** Ahora se crea sola y es única para cada instancia del bot. |
| 35 | + - Hace uso de un _script_ inicial para poblarse sola con las tablas necesarias. |
| 36 | +* **Mejoras al Logger:** |
| 37 | + - Ahora sigue un patrón _Singleton_, por lo que se puede instanciar en cualquier parte del proyecto sin miedo a guardar el mismo registro varias veces. |
| 38 | + - Distintos niveles de logueo de registros para la consola y para el archivo. |
| 39 | + - Ahora el asistente se puede ejecutar con los argumentos `-v` o `--verbose` para guardar registros en consola con el nivel `DEBUG`. |
| 40 | + - Ahora también guarda registros del _traceback_ de `discord.py`, no sólo los del asistente. |
| 41 | +* `/version` fue eliminado, y su funcionalidad quedó incluida en el comando `/info`. |
| 42 | +* El _workflow_ para GitHub de PyLint fue cambiado por el de Ruff. |
| 43 | +* `/reboot` y `/shutdown` ahora sólo están disponibles para el dueño de la aplicación ~~(yo)~~. Sino es un riesgo de seguridad importante. |
| 44 | +* Se agregaron algunos secciones extra en el [README](./README.md). |
| 45 | + - Explicación simple de los comandos más comunes. |
| 46 | + - Un caso de uso para `/ej`. |
| 47 | +* **Remodelado el comando `/ej`:** |
| 48 | + - Ahora todo ocurre en mensajes "efímeros" de Discord, con la posibilidad de todavía "imprimir" el mensaje en el canal con un nuevo botón. |
| 49 | + - Incluidos algunos fixes para que `/ej` _(así como comandos similares)_ puedan funcionar en canales privados o DMs. |
| 50 | + |
| 51 | + |
| 52 | +<hr style="height:4px" /> |
| 53 | + |
| 54 | +### v1.4.1 |
| 55 | + |
| 56 | +* **Actualizadas las dependencias.** |
| 57 | + - discord.py (2.1.0 → **2.2.2**) |
| 58 | + - python-dotenv (0.2.1 → **1.0.0**) |
| 59 | + |
| 60 | +* **Uso de `typing.Union` en vez de `|`** para un poco retrocompatibilidad. |
| 61 | + |
| 62 | +<hr style="height:2px" /> |
| 63 | + |
| 64 | +## v1.4.0 |
| 65 | + |
| 66 | +* Arreglados bugs con el menu de `/ej`, en donde el menu de unidades no funcionaba para las unidades `2` y `12`. |
| 67 | +* **Actualizada la versión de la guía.** Ahora utiliza la revisión del 6 de Marzo de 2022 bajo el nombre `1c2022`. |
| 68 | + - Cambiada *una* palabra del ejercicio **1.6.b)**. |
| 69 | + - Expandido el enunciado del ejercicio **7.11**. |
| 70 | + - Nuevo ejercicio **7.13**. |
| 71 | +* **Comando `/meme` removido.** Cayó en desuso y no era rentable mantener las claves. |
| 72 | +* **Comandos `/whatsnew` y `/rps` removidos.** |
| 73 | +* **Mejorada la lógica de archivos.** Ahora usan búsqueda recursiva e instancias de la clase `pathlib.Path`, en vez de las funciones de `os.path`. |
| 74 | +* **Ahora se usa una DB de SQLite3,** en vez de un módulo de constantes. |
| 75 | + |
| 76 | +<hr style="height:4px" /> |
| 77 | + |
| 78 | +## v1.3.0 |
| 79 | + |
| 80 | +* Puesto que [discord.py](https://github.com/Rapptz/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.** |
| 81 | + |
| 82 | +* **Agregados los *slash commands*.** |
| 83 | + |
| 84 | +* **Agregado nuevo comando `reboot`.** Ahora se puede reiniciar el bot sin tener que apagarlo manualmente. |
| 85 | + |
| 86 | +<hr style="height:4px" /> |
| 87 | + |
| 88 | +### v1.2.1 |
| 89 | + |
| 90 | +* **Simplificados algunos imports en las pruebas y en el main.** No deberían tener nombres redundantes. |
| 91 | +* **Agregados scripts ejecutables.** Ahora debería ser más intuitivo correr el bot. |
| 92 | + |
| 93 | +<hr style="height:2px" /> |
| 94 | + |
| 95 | +## v1.2.0 |
| 96 | + |
| 97 | +* **Migración a Pycord.** La librería que se venía usando, [discord.py](https://github.com/Rapptz/discord.py), cesó su mantenimiento, y por lo |
| 98 | +tanto el bot migró a usar [pycord](https://github.com/Pycord-Development/pycord), un *fork* de discord.py casi idéntico y más actualizado. |
| 99 | + |
| 100 | +* **Reformados los comandos.** Ahora hace uso de `Cogs` para mejor organización de los mismos. |
| 101 | + |
| 102 | +* **Modularización.** Siguiendo la mejora de solidez técnica descrita arriba, muchas funciones |
| 103 | +y clases fueron separadas en sus propios módulos. |
| 104 | + |
| 105 | +* **Algunos Comandos ahora usan `Embeds`.** Esto permite una presentación más prolija. |
| 106 | + |
| 107 | +<hr style="height:4px" /> |
| 108 | + |
| 109 | +## v1.1.0 |
| 110 | + |
| 111 | +Esta versión introduce una nueva imagen para el bot, manejo de imágenes por |
| 112 | +Imgur, para mejor experiencia de memes. También se introducen menús contextuales para `ej` y `guia`. |
| 113 | + |
| 114 | +* **¡Nuevo Logo!** Las referencias se encuentran en la carpeta de [imágenes](img). |
| 115 | + |
| 116 | +* **Hace uso de [`imgur-python`](https://pypi.org/project/imgur-python/)** para manejar imágenes a través del bot de Discord. |
| 117 | + |
| 118 | +* **Nuevo Archivo `cliente_imgur.py`** para guardar la lógica de la |
| 119 | +aplicación que representa el cliente de Imgur. |
| 120 | + |
| 121 | +* **Ahora el comando `meme` ya no acepta ids de links.** Sin embargo, ahora |
| 122 | +acepta que se le pase el índice de meme si se quiere uno en concreto de la |
| 123 | +colección en Imgur. |
| 124 | + |
| 125 | +* **Nuevo parámetro `add` para el comando `meme`**. Con esto, si el mensaje que envía el comando refiere a una imagen, se agrega esta a la colección de memes. |
| 126 | + |
| 127 | +* **Nuevo Archivo `interfaces.py`** en donde guardar las interfaces usadas |
| 128 | +en los mensajes del bot. |
| 129 | + |
| 130 | +* **Ahora `guia` tiene un menú contextual.** Permite seleccionar más |
| 131 | +intuitivamente las versiones de la guía, y se llama con `guia` sin |
| 132 | +parámetros. |
| 133 | + |
| 134 | +* **Similarmente con `ej`,** ahora este tiene no sólo también un menú |
| 135 | +selector, si no también hace uso de botones para navegar por los ejercicios. |
| 136 | + |
| 137 | +* **Agregado banco entero de palabras en español para el ahorcado.** Ahora |
| 138 | +hay `80946` combinaciones posibles. Unas pocas más. |
| 139 | + |
| 140 | +* **El bot ahora es más** ¿...competitivo? |
| 141 | + |
| 142 | +<hr style="height:4px" /> |
| 143 | + |
| 144 | +### v1.0.4 |
| 145 | + |
| 146 | +Esta versión tiene más que nada mantenimiento y mejoras internas: |
| 147 | + |
| 148 | +* **Mejorada la forma de registrar eventos.** Ahora hace uso del módulo `logging` para registrar eventos en la ejecución del bot. |
| 149 | + |
| 150 | +* **Nuevo archivo** `lector.log` para guardar dichos registros. |
| 151 | + |
| 152 | +<hr style="height:2px" /> |
| 153 | + |
| 154 | +### v1.0.3 |
| 155 | + |
| 156 | +* **Agregado una actividad `!info`** en el estado del bot. |
| 157 | + |
| 158 | +* **Agregados nuevos mensajes de error** para excepciones del comando `ej`. |
| 159 | + |
| 160 | +<hr style="height:2px" /> |
| 161 | + |
| 162 | +### v1.0.2 |
| 163 | + |
| 164 | +* **Mejorado un poco el código.** Ahora el cuerpo del código sigue mejor las convenciones de python. |
| 165 | +* **Agregadas** algunas que otras palabras nuevas que pueden tocar en el ahorcado. |
| 166 | + |
| 167 | +<hr style="height:2px" /> |
| 168 | + |
| 169 | +### v1.0.1 |
| 170 | + |
| 171 | +* **Agregado comando `clear`** para limpiar mensajes del bot. |
| 172 | + |
| 173 | +<hr style="height:4px" /> |
| 174 | + |
| 175 | +## v1.0.0 |
| 176 | + |
| 177 | +* Ahora el bot proviene de una clase `CustomBot` que sobrecarga a la clase de Discord `commands.Bot`. Esto es para contener información persistente, pero los |
| 178 | + comandos siguen siendo definidos mediante decoradores. |
| 179 | + |
| 180 | +* Mejoradas las *type hints* de varias funciones y la documentación en general. |
| 181 | + |
| 182 | +* La estructura del lector de la guía es más flexible y configurable y no depende de valores *hardcodeados* como antes. |
| 183 | + |
| 184 | +* **Nuevo comando `prefix`** con el que cambiar el prefijo del comando. Puede configurarse por separado para cada servidor. |
| 185 | + |
| 186 | +* **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ón `2c2019`). |
| 187 | + De nuevo, la configuración de cada servidor es independiente de las otras. Por ahora la única versión disponible es `2c2019`, pero añadido está el soporte para |
| 188 | + futuras revisiones de la guía. |
| 189 | + |
| 190 | +* Ahora el comando `info` muestra también la versión de la guía. |
| 191 | + |
| 192 | +* **Aún más** memes. *Muuuchos más*. |
| 193 | + |
| 194 | +* **¡Introducido el juego 'hanged' (ahorcado)!**. Se invoca mediante el nuevo comando `hanged` o su alias `ahorcado`. Hace uso de los nuevos hilos en Discord, |
| 195 | + introducidos en la API 2.0. |
| 196 | + |
| 197 | +* 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 |
| 198 | + archivo `.txt` separado para generar las palabras. |
| 199 | + |
| 200 | +* `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 con `https://i.imgur.com`) |
0 commit comments