mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-21 10:17:59 -05:00
[Utils] Add humanize_number() function to chat formatting (#2836)
This adds babel as a dependency, and also includes `redbot.core.i18n.get_babel_locale()`
This commit is contained in:
@@ -5,6 +5,7 @@ from functools import wraps
|
||||
|
||||
import discord
|
||||
|
||||
from redbot.core.utils.chat_formatting import humanize_number
|
||||
from . import Config, errors, commands
|
||||
from .i18n import Translator
|
||||
|
||||
@@ -237,11 +238,20 @@ async def withdraw_credits(member: discord.Member, amount: int) -> int:
|
||||
if not isinstance(amount, int):
|
||||
raise TypeError("Withdrawal amount must be of type int, not {}.".format(type(amount)))
|
||||
if _invalid_amount(amount):
|
||||
raise ValueError("Invalid withdrawal amount {} < 0".format(amount))
|
||||
raise ValueError(
|
||||
"Invalid withdrawal amount {} < 0".format(
|
||||
humanize_number(amount, override_locale="en_US")
|
||||
)
|
||||
)
|
||||
|
||||
bal = await get_balance(member)
|
||||
if amount > bal:
|
||||
raise ValueError("Insufficient funds {} > {}".format(amount, bal))
|
||||
raise ValueError(
|
||||
"Insufficient funds {} > {}".format(
|
||||
humanize_number(amount, override_locale="en_US"),
|
||||
humanize_number(bal, override_locale="en_US"),
|
||||
)
|
||||
)
|
||||
|
||||
return await set_balance(member, bal - amount)
|
||||
|
||||
@@ -272,7 +282,11 @@ async def deposit_credits(member: discord.Member, amount: int) -> int:
|
||||
if not isinstance(amount, int):
|
||||
raise TypeError("Deposit amount must be of type int, not {}.".format(type(amount)))
|
||||
if _invalid_amount(amount):
|
||||
raise ValueError("Invalid deposit amount {} <= 0".format(amount))
|
||||
raise ValueError(
|
||||
"Invalid deposit amount {} <= 0".format(
|
||||
humanize_number(amount, override_locale="en_US")
|
||||
)
|
||||
)
|
||||
|
||||
bal = await get_balance(member)
|
||||
return await set_balance(member, amount + bal)
|
||||
@@ -309,7 +323,11 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in
|
||||
if not isinstance(amount, int):
|
||||
raise TypeError("Transfer amount must be of type int, not {}.".format(type(amount)))
|
||||
if _invalid_amount(amount):
|
||||
raise ValueError("Invalid transfer amount {} <= 0".format(amount))
|
||||
raise ValueError(
|
||||
"Invalid transfer amount {} <= 0".format(
|
||||
humanize_number(amount, override_locale="en_US")
|
||||
)
|
||||
)
|
||||
|
||||
if await get_balance(to) + amount > MAX_BALANCE:
|
||||
currency = await get_currency_name(to.guild)
|
||||
@@ -727,7 +745,7 @@ def cost(amount: int):
|
||||
credits_name = await get_currency_name(context.guild)
|
||||
raise commands.UserFeedbackCheckFailure(
|
||||
_("You need at least {cost} {currency} to use this command.").format(
|
||||
cost=amount, currency=credits_name
|
||||
cost=humanize_number(amount), currency=credits_name
|
||||
)
|
||||
)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user