diff options
author | mat <github@matdoes.dev> | 2022-03-31 21:58:54 -0500 |
---|---|---|
committer | mat <github@matdoes.dev> | 2022-03-31 21:58:54 -0500 |
commit | 4b706d309e30d92b7b143d1879d9298fdba53141 (patch) | |
tree | 12794ef1791dad68ddbe5c468011181cc1967a0b /src/database.ts | |
parent | c3f939df6f95fa92862628102f6278f3de72e3ba (diff) | |
download | skyblock-api-4b706d309e30d92b7b143d1879d9298fdba53141.tar.gz skyblock-api-4b706d309e30d92b7b143d1879d9298fdba53141.tar.bz2 skyblock-api-4b706d309e30d92b7b143d1879d9298fdba53141.zip |
don't show slayer tier 5 for nonexistent bosses
Diffstat (limited to 'src/database.ts')
-rw-r--r-- | src/database.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/database.ts b/src/database.ts index 394b58b..9c2978b 100644 --- a/src/database.ts +++ b/src/database.ts @@ -4,9 +4,9 @@ import { categorizeStat, getStatUnit } from './cleaners/skyblock/stats.js' import { CleanFullProfile } from './cleaners/skyblock/profile.js' -import { slayerLevels } from './cleaners/skyblock/slayers.js' +import { SLAYER_TIERS } from './cleaners/skyblock/slayers.js' +import { Collection, Db, MongoClient, WithId } from 'mongodb' import { CleanMember } from './cleaners/skyblock/member.js' -import { Collection, Db, Filter, MongoClient, WithId } from 'mongodb' import { CleanPlayer } from './cleaners/player.js' import * as cached from './hypixelCached.js' import * as constants from './constants.js' @@ -14,8 +14,8 @@ import { shuffle, sleep } from './util.js' import * as discord from './discord.js' import NodeCache from 'node-cache' import { v4 as uuid4 } from 'uuid' -import Queue from 'queue-promise' import { debug } from './index.js' +import Queue from 'queue-promise' // don't update the user for 3 minutes const recentlyUpdated = new NodeCache({ @@ -256,7 +256,7 @@ export async function fetchSlayerLeaderboards(): Promise<string[]> { for (const slayerNameRaw of rawSlayerNames) { leaderboardNames.push(`slayer_${slayerNameRaw}_total_xp`) leaderboardNames.push(`slayer_${slayerNameRaw}_total_kills`) - for (let slayerTier = 1; slayerTier <= slayerLevels; slayerTier++) { + for (let slayerTier = 1; slayerTier <= SLAYER_TIERS[slayerNameRaw]; slayerTier++) { leaderboardNames.push(`slayer_${slayerNameRaw}_${slayerTier}_kills`) } } @@ -652,6 +652,8 @@ async function getApplicableProfileLeaderboardAttributes(profile: CleanFullProfi * deleted. This only makes one database call if there's no profiles to delete. */ export async function removeDeletedProfilesFromLeaderboards(memberUuid: string, profilesUuids: string[]) { + if (!client) return + const leaderboardProfilesInDatabase = (await (await memberLeaderboardsCollection.find({ uuid: memberUuid, })).toArray()) |