Repository navigation
fix: validar que DISCORD_GUILD_ID sea numerico en validate_settings - #38
ranto-dev05 wants to merge 1 commit into
Conversation
|
Resuelto en |
Axel-DaMage
left a comment
There was a problem hiding this comment.
Aprobado. Cumple los acceptance criteria de #7:
isdigit()valida formato numérico envalidate_settings(), no solo existencia.- Con
DISCORD_GUILD_ID=abcel arranque falla con mensaje claro antes de llegar alint()críptico. - Con ID válido el arranque funciona igual.
Notas menores (no bloqueantes):
isdigit()devuelveTruepara algunos caracteres de dígitos no-ASCII queint()rechazaría; irrelevante para snowflakes de Discord, pero si se quiere robustez total se puede usarstr.isdecimal()o untry/exceptalrededor deint().- El issue sugería tocar también
main.py, pero comovalidate_settings()corre antes deint(settings.discord_guild_id), el fix ensettings.pyes suficiente. Bien justificado en el body.
Recordatorio: la rama está BEHIND respecto a main; hacer rebase antes de mergear.
Este PR de iteración rápida hace que
validate_settings()enbot/config/settings.pyvalide queDISCORD_GUILD_IDsea numérico medianteisdigit()y lance unValueErrorclaro si no lo es, en lugar de dejar queint()enmain.pyfalle con un error críptico cuando el valor contiene texto, espacios o una tipografía; comovalidate_settings()se ejecuta al inicio del arranque antes de construir el objetoguild, esta única validación cubre los criterios de aceptación sin necesidad de tocarmain.py. Closes #7. Para verificarlo en menos de un minuto: ejecutapython main.pyconDISCORD_GUILD_ID=abcen tu.envy confirma que el arranque falla conDISCORD_GUILD_ID debe ser un número entero (ID del servidor de Discord).en lugar deValueError: invalid literal for int(), y que con un ID válido el bot sigue arrancando igual.