diff --git a/src/commands/guild/info.ts b/src/commands/guild/info.ts index b73eabf..8d9fe0d 100644 --- a/src/commands/guild/info.ts +++ b/src/commands/guild/info.ts @@ -1,6 +1,7 @@ import { ChatInputCommandInteraction } from "discord.js" import { devMessage, embedColor } from "~/config/options.js" import { IGuildData } from "~/interfaces" +import { numberFormatter } from "~/utils/Functions/intlFormaters.js" import { getGuild, getIGN, getPlayer, getUUID, guildLevel } from "~/utils/Hypixel.js" export default async function guildInfo(interaction: ChatInputCommandInteraction): Promise { @@ -107,7 +108,7 @@ export default async function guildInfo(interaction: ChatInputCommandInteraction const guildCreated = new Date(guildCreatedMS) const guildTag = guild!.tag const guildExpUnformatted = guild!.exp - const guildExp = new Intl.NumberFormat("en-US").format(guildExpUnformatted) + const guildExp = numberFormatter.format(guildExpUnformatted) const guildLvl = guildLevel(guildExpUnformatted) const guildMembers = guild!.members const guildCreatedTime = guildCreated.toLocaleString("hr-HR", {}) @@ -123,10 +124,10 @@ export default async function guildInfo(interaction: ChatInputCommandInteraction }) const totalGuildMembersWeeklyXPUnformatted = guildMembersWeeklyXP.reduce((a, b) => a + b, 0) - const totalGuildMembersWeeklyXP = new Intl.NumberFormat("en-US").format(totalGuildMembersWeeklyXPUnformatted) + const totalGuildMembersWeeklyXP = numberFormatter.format(totalGuildMembersWeeklyXPUnformatted) const averageGuildMembersWeeklyXPUnformatted = Math.round(totalGuildMembersWeeklyXPUnformatted / 7) - const averageGuildMembersWeeklyXP = new Intl.NumberFormat("en-US").format(averageGuildMembersWeeklyXPUnformatted) + const averageGuildMembersWeeklyXP = numberFormatter.format(averageGuildMembersWeeklyXPUnformatted) await interaction.editReply({ embeds: [{ diff --git a/src/commands/guild/member.ts b/src/commands/guild/member.ts index 3a9fff3..29a2602 100644 --- a/src/commands/guild/member.ts +++ b/src/commands/guild/member.ts @@ -1,5 +1,6 @@ import { ChatInputCommandInteraction } from "discord.js" import { devMessage, embedColor } from "~/config/options.js" +import { numberFormatter } from "~/utils/Functions/intlFormaters.js" import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel.js" export default async function guildMember(interaction: ChatInputCommandInteraction): Promise { @@ -101,13 +102,13 @@ export default async function guildMember(interaction: ChatInputCommandInteracti const guildRank = guildMember!.rank const memberGexp = guildMember!.expHistory const allDaysGexp = Object.keys(memberGexp).map(key => { - return ("**➺ " + key + ":** " + "`" + new Intl.NumberFormat("en-US").format(memberGexp[key]) + "`" + "\n") + return ("**➺ " + key + ":** " + "`" + numberFormatter.format(memberGexp[key]) + "`" + "\n") }) const expValue = allDaysGexp.join("") const totalWeeklyGexpUnformatted = Object.values(memberGexp).reduce((a, b) => a + b, 0) - const totalWeeklyGexp = new Intl.NumberFormat("en-US").format(totalWeeklyGexpUnformatted) + const totalWeeklyGexp = numberFormatter.format(totalWeeklyGexpUnformatted) const averageWeeklyGexpUnformatted = Math.round(totalWeeklyGexpUnformatted / 7) - const averageWeeklyGexp = new Intl.NumberFormat("en-US").format(averageWeeklyGexpUnformatted) + const averageWeeklyGexp = numberFormatter.format(averageWeeklyGexpUnformatted) const guildMemberJoinMS = guildMember!.joined const guildMemberJoinTime = new Date(guildMemberJoinMS) diff --git a/src/commands/guild/top.ts b/src/commands/guild/top.ts index 83b58be..35a5227 100644 --- a/src/commands/guild/top.ts +++ b/src/commands/guild/top.ts @@ -1,6 +1,7 @@ import { ChatInputCommandInteraction } from "discord.js" import { devMessage, embedColor } from "~/config/options.js" import { IGuildData } from "~/interfaces" +import { numberFormatter } from "~/utils/Functions/intlFormaters.js" import { getGuild, getIGN, getPlayer, getUUID } from "~/utils/Hypixel.js" import { redis } from "~/utils/Illegitimate.js" @@ -113,10 +114,10 @@ export default async function guildTop(interaction: ChatInputCommandInteraction) const gexpTodayUnformatted = guildMembers.map(member => { return member.expHistory[Object.keys(member.expHistory)[0]] }).reduce((a, b) => a + b, 0) - const gexpToday = new Intl.NumberFormat("en-US").format(gexpTodayUnformatted) + const gexpToday = numberFormatter.format(gexpTodayUnformatted) const averageGuildMemberGEXPUnformatted = Math.floor(gexpTodayUnformatted / guildMembers.length) - const averageGuildMemberGEXP = new Intl.NumberFormat("en-US").format(averageGuildMemberGEXPUnformatted) + const averageGuildMemberGEXP = numberFormatter.format(averageGuildMemberGEXPUnformatted) const allMembersDailyGEXP = guildMembers.map(member => { return { @@ -177,7 +178,7 @@ export default async function guildTop(interaction: ChatInputCommandInteraction) const sliceSize = amount / 4 for (let i = 0; i < amount; i++) { - const gexp = new Intl.NumberFormat("en-US").format(topMembers[i].gexp) + const gexp = numberFormatter.format(topMembers[i].gexp) const ign = guildData.find(member => member.uuid === topMembers[i].uuid)?.ign const position = i + 1 diff --git a/src/events/cron/weeklyGexp.ts b/src/events/cron/weeklyGexp.ts index 05ca145..08c113b 100644 --- a/src/events/cron/weeklyGexp.ts +++ b/src/events/cron/weeklyGexp.ts @@ -2,6 +2,7 @@ import { TextChannel } from "discord.js" import { devMessage, embedColor, guildLogChannel, hypixelGuildID } from "~/config/options.js" import { ICron, IGuildData } from "~/interfaces" import { color } from "~/utils/Functions/colors.js" +import { numberFormatter } from "~/utils/Functions/intlFormaters.js" import { getGuild, getIGN } from "~/utils/Hypixel.js" import { client } from "~/utils/Illegitimate.js" @@ -39,7 +40,7 @@ async function guildWeekly() { for (let i = 0; i < allMembersGexpSorted.length; i++) { const ign = await getIGN(allMembersGexpSorted[i].uuid) - const gexp = new Intl.NumberFormat("en-US").format(allMembersGexpSorted[i].exp) + const gexp = numberFormatter.format(allMembersGexpSorted[i].exp) const position = i + 1 guildMembersList.push("**#" + position + " " + ign + ":** `" + gexp + "`") } @@ -65,8 +66,8 @@ async function guildWeekly() { const averageGuildMembersDailyXPUnformatted = totalGuildMembersWeeklyXPUnformatted / 7 // final values - const totalGuildMembersWeeklyXP = new Intl.NumberFormat("en-US").format(totalGuildMembersWeeklyXPUnformatted) - const averageGuildMembersWeeklyXP = new Intl.NumberFormat("en-US").format(averageGuildMembersDailyXPUnformatted) + const totalGuildMembersWeeklyXP = numberFormatter.format(totalGuildMembersWeeklyXPUnformatted) + const averageGuildMembersWeeklyXP = numberFormatter.format(averageGuildMembersDailyXPUnformatted) await message.edit({ embeds: [{ diff --git a/src/utils/Functions/intlFormaters.ts b/src/utils/Functions/intlFormaters.ts new file mode 100644 index 0000000..ba12015 --- /dev/null +++ b/src/utils/Functions/intlFormaters.ts @@ -0,0 +1,3 @@ +const numberFormatter = new Intl.NumberFormat("en-US") + +export { numberFormatter }