Updated intl formatters

This commit is contained in:
2024-11-14 17:24:12 +01:00
parent 96b145a8ad
commit a9b1d5ba67
6 changed files with 37 additions and 25 deletions

View File

@@ -108,10 +108,10 @@ export default async function guildInfo(interaction: ChatInputCommandInteraction
const guildCreated = new Date(guildCreatedMS)
const guildTag = guild!.tag
const guildExpUnformatted = guild!.exp
const guildExp = numberFormatter.format(guildExpUnformatted)
const guildExp = numberFormatter(guildExpUnformatted)
const guildLvl = guildLevel(guildExpUnformatted)
const guildMembers = guild!.members
const guildCreatedTime = dateTimeFormatter.format(guildCreated)
const guildCreatedTime = dateTimeFormatter(guildCreated)
const guildOwner = guildMembers.find(m => m.rank === "Guild Master")!.uuid
const guildOwnerName = await getIGN(guildOwner)
@@ -124,10 +124,10 @@ export default async function guildInfo(interaction: ChatInputCommandInteraction
})
const totalGuildMembersWeeklyXPUnformatted = guildMembersWeeklyXP.reduce((a, b) => a + b, 0)
const totalGuildMembersWeeklyXP = numberFormatter.format(totalGuildMembersWeeklyXPUnformatted)
const totalGuildMembersWeeklyXP = numberFormatter(totalGuildMembersWeeklyXPUnformatted)
const averageGuildMembersWeeklyXPUnformatted = Math.round(totalGuildMembersWeeklyXPUnformatted / 7)
const averageGuildMembersWeeklyXP = numberFormatter.format(averageGuildMembersWeeklyXPUnformatted)
const averageGuildMembersWeeklyXP = numberFormatter(averageGuildMembersWeeklyXPUnformatted)
await interaction.editReply({
embeds: [{

View File

@@ -102,17 +102,17 @@ export default async function guildMember(interaction: ChatInputCommandInteracti
const guildRank = guildMember!.rank
const memberGexp = guildMember!.expHistory
const allDaysGexp = Object.keys(memberGexp).map(key => {
return ("**➺ " + key + ":** " + "`" + numberFormatter.format(memberGexp[key]) + "`" + "\n")
return ("**➺ " + key + ":** " + "`" + numberFormatter(memberGexp[key]) + "`" + "\n")
})
const expValue = allDaysGexp.join("")
const totalWeeklyGexpUnformatted = Object.values(memberGexp).reduce((a, b) => a + b, 0)
const totalWeeklyGexp = numberFormatter.format(totalWeeklyGexpUnformatted)
const totalWeeklyGexp = numberFormatter(totalWeeklyGexpUnformatted)
const averageWeeklyGexpUnformatted = Math.round(totalWeeklyGexpUnformatted / 7)
const averageWeeklyGexp = numberFormatter.format(averageWeeklyGexpUnformatted)
const averageWeeklyGexp = numberFormatter(averageWeeklyGexpUnformatted)
const guildMemberJoinMS = guildMember!.joined
const guildMemberJoinTime = new Date(guildMemberJoinMS)
const guildMemberJoin = dateTimeFormatter.format(guildMemberJoinTime)
const guildMemberJoin = dateTimeFormatter(guildMemberJoinTime)
await interaction.editReply({
embeds: [{

View File

@@ -114,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 = numberFormatter.format(gexpTodayUnformatted)
const gexpToday = numberFormatter(gexpTodayUnformatted)
const averageGuildMemberGEXPUnformatted = Math.floor(gexpTodayUnformatted / guildMembers.length)
const averageGuildMemberGEXP = numberFormatter.format(averageGuildMemberGEXPUnformatted)
const averageGuildMemberGEXP = numberFormatter(averageGuildMemberGEXPUnformatted)
const allMembersDailyGEXP = guildMembers.map(member => {
return {
@@ -178,7 +178,7 @@ export default async function guildTop(interaction: ChatInputCommandInteraction)
const sliceSize = amount / 4
for (let i = 0; i < amount; i++) {
const gexp = numberFormatter.format(topMembers[i].gexp)
const gexp = numberFormatter(topMembers[i].gexp)
const ign = guildData.find(member => member.uuid === topMembers[i].uuid)?.ign
const position = i + 1

View File

@@ -40,7 +40,7 @@ async function guildWeekly() {
for (let i = 0; i < allMembersGexpSorted.length; i++) {
const ign = await getIGN(allMembersGexpSorted[i].uuid)
const gexp = numberFormatter.format(allMembersGexpSorted[i].exp)
const gexp = numberFormatter(allMembersGexpSorted[i].exp)
const position = i + 1
guildMembersList.push("**#" + position + " " + ign + ":** `" + gexp + "`")
}
@@ -66,8 +66,8 @@ async function guildWeekly() {
const averageGuildMembersDailyXPUnformatted = totalGuildMembersWeeklyXPUnformatted / 7
// final values
const totalGuildMembersWeeklyXP = numberFormatter.format(totalGuildMembersWeeklyXPUnformatted)
const averageGuildMembersWeeklyXP = numberFormatter.format(averageGuildMembersDailyXPUnformatted)
const totalGuildMembersWeeklyXP = numberFormatter(totalGuildMembersWeeklyXPUnformatted)
const averageGuildMembersWeeklyXP = numberFormatter(averageGuildMembersDailyXPUnformatted)
await message.edit({
embeds: [{

View File

@@ -12,7 +12,7 @@ export default {
embeds: [{
title: "New Member",
description: userMention(member.id) + " has joined the server.\n" +
"Account created: " + dateTimeFormatter.format(member.user.createdAt),
"Account created: " + dateTimeFormatter(member.user.createdAt),
color: embedColor,
thumbnail: {
url: member.user.avatarURL() || ""

View File

@@ -1,12 +1,24 @@
const numberFormatter = new Intl.NumberFormat("en-US")
export function numberFormatter(d: number): string {
return new Intl.NumberFormat("en-US").format(d)
}
const dateTimeFormatter = new Intl.DateTimeFormat("hr-HR", {
export function dateTimeFormatter(d: Date): string {
return new Intl.DateTimeFormat("hr-HR", {
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
second: "numeric"
})
}).format(d)
}
export { dateTimeFormatter, numberFormatter }
export function logTimeFormatter(d: Date): string {
return new Intl.DateTimeFormat("hr-HR", {
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric"
}).format(d)
}