Cog-Creators / Red-DiscordBot

A multi-function Discord bot
https://docs.discord.red
GNU General Public License v3.0
4.72k stars 2.3k forks source link

Humanize number fix #6283

Closed aikaterna closed 8 months ago

aikaterna commented 8 months ago

Description of the changes

This is a redo of #4725 because I deleted the branch at some point by accident.

humanize_number has the capability to error out with very large values, in some cases over 10 quintillion (9,999,999,999,999,999,999,999), in other locales over 1,000 quintillion (9,999,999,999,999,999,999,999,999).

This PR: Closes https://github.com/Cog-Creators/Red-DiscordBot/issues/4619 and fixes the instance of this in cleanup that started this PR (prompts the user to provide a more sane number value) Addresses this issue in audioset jukebox (prompts the user to provide a more sane number value) Addresses this issue in trivia's payout (caps payout at 2 63 - 1) Changes the [p]roll max value to 2 63 - 1 to help standardize max value across the bot Adds to humanize_number's docstring to explain the possible limit on some systems These should be all the places in Red where this number value for a limit could be enforced/used.

This PR does not: Add a possible limit for triviaset payout (it's an uncapped float at the moment) Cap anything that's passed to humanize_number via the function itself Provide a constants-style entry, possibly in the bot's utils folder, so that the value is not placed in every cog that needs it

Have the changes in this PR been tested?

Yes, 3 years ago when I made the original PR, but not any time recently.

PredaaA commented 8 months ago

I think it could be nice to have this MAX_VALUE = 2**63 - 1 variable set somewhere in redbot.core.utils. Then it can be imported anywhere it's needed, so it avoid copying the same value again.

Nevermind I didn't read the whole PR description it seems, oops