diff options
Diffstat (limited to 'src/cleaners')
| -rw-r--r-- | src/cleaners/skyblock/bank.ts | 2 | ||||
| -rw-r--r-- | src/cleaners/skyblock/fairysouls.ts | 14 | ||||
| -rw-r--r-- | src/cleaners/skyblock/member.ts | 5 | ||||
| -rw-r--r-- | src/cleaners/skyblock/minions.ts | 4 | ||||
| -rw-r--r-- | src/cleaners/skyblock/profile.ts | 12 | 
5 files changed, 25 insertions, 12 deletions
| diff --git a/src/cleaners/skyblock/bank.ts b/src/cleaners/skyblock/bank.ts index 7db7a37..302f392 100644 --- a/src/cleaners/skyblock/bank.ts +++ b/src/cleaners/skyblock/bank.ts @@ -1,5 +1,3 @@ -import { cleanSkyblockProfileResponseLighter } from "./profile" -  export interface Bank {  	balance: number  	history: any[] diff --git a/src/cleaners/skyblock/fairysouls.ts b/src/cleaners/skyblock/fairysouls.ts new file mode 100644 index 0000000..11bbc9e --- /dev/null +++ b/src/cleaners/skyblock/fairysouls.ts @@ -0,0 +1,14 @@ +export interface FairySouls { +	total: number +	/** The number of fairy souls that haven't been exchanged yet */ +	unexchanged: number +	exchanges: number +} + +export function cleanFairySouls(data: any): FairySouls { +	return { +		total: data?.fairy_souls_collected ?? 0, +		unexchanged: data?.fairy_souls ?? 0, +		exchanges: data?.fairy_exchanges ?? 0, +	} +}
\ No newline at end of file diff --git a/src/cleaners/skyblock/member.ts b/src/cleaners/skyblock/member.ts index 43bd9fd..8695b3f 100644 --- a/src/cleaners/skyblock/member.ts +++ b/src/cleaners/skyblock/member.ts @@ -2,6 +2,7 @@ import { Included } from '../../hypixel'  import * as cached from '../../hypixelCached'  import { CleanPlayer } from '../player'  import { Bank, cleanBank } from './bank' +import { cleanFairySouls, FairySouls } from './fairysouls'  import { CleanMinion, cleanMinions } from './minions'  import { CleanProfileStats, cleanProfileStats } from './stats' @@ -16,6 +17,7 @@ export interface CleanMember extends CleanBasicMember {      stats?: CleanProfileStats      minions?: CleanMinion[]  	bank?: Bank +	fairy_souls?: FairySouls  } @@ -30,7 +32,8 @@ export async function cleanSkyBlockProfileMemberResponse(member, included: Inclu          first_join: member.first_join,          // last_death: ??? idk how this is formatted,          stats: statsIncluded ? cleanProfileStats(member?.stats) : undefined, -        minions: statsIncluded ? cleanMinions(member?.crafted_generators) : undefined, +        minions: statsIncluded ? cleanMinions(member) : undefined, +		fairy_souls: statsIncluded ? cleanFairySouls(member) : undefined      }  } diff --git a/src/cleaners/skyblock/minions.ts b/src/cleaners/skyblock/minions.ts index b5ac85d..06e7752 100644 --- a/src/cleaners/skyblock/minions.ts +++ b/src/cleaners/skyblock/minions.ts @@ -10,9 +10,9 @@ export interface CleanMinion {   * Clean the minions provided by Hypixel   * @param minionsRaw The minion data provided by the Hypixel API   */ -export function cleanMinions(minionsRaw: string[]): CleanMinion[] { +export function cleanMinions(data: any): CleanMinion[] {      const minions: CleanMinion[] = [] -    for (const minionRaw of minionsRaw ?? []) { +    for (const minionRaw of data?.crafted_generators ?? []) {          // do some regex magic to get the minion name and level          // examples of potential minion names: CLAY_11, PIG_1, MAGMA_CUBE_4          const minionName = minionRaw.split(/_\d/)[0].toLowerCase() diff --git a/src/cleaners/skyblock/profile.ts b/src/cleaners/skyblock/profile.ts index 5d2b7a3..8389a0d 100644 --- a/src/cleaners/skyblock/profile.ts +++ b/src/cleaners/skyblock/profile.ts @@ -1,7 +1,8 @@  import { CleanBasicMember, CleanMember, CleanMemberProfile, cleanSkyBlockProfileMemberResponse } from './member'  import { CleanMinion, combineMinionArrays, countUniqueMinions } from './minions'  import * as cached from '../../hypixelCached' -import { cleanBank } from './bank' +import { Bank, cleanBank } from './bank' +import { cleanFairySouls, FairySouls } from './fairysouls'  export interface CleanProfile extends CleanBasicProfile {      members?: CleanBasicMember[] @@ -9,10 +10,7 @@ export interface CleanProfile extends CleanBasicProfile {  export interface CleanFullProfile extends CleanProfile {      members: CleanMember[] -    bank?: { -        balance: number -        history: any[] -    } +    bank?: Bank      minions: CleanMinion[]  } @@ -94,8 +92,8 @@ export async function fetchMemberProfile(user: string, profile: string): Promise          member: {  			// the profile name is in member rather than profile since they sometimes differ for each member              profileName: cleanProfile.name, -            first_join: member.first_join, -            last_save: member.last_save, +			// add all the member data +            ...member,              // add all other data relating to the hypixel player, such as username, rank, etc              ...player          }, | 
