Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix archive asset urls #2479

Merged
merged 12 commits into from
Oct 4, 2024
4 changes: 2 additions & 2 deletions apps/somnia/src/commands/archive/artifact.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { i18nInstance } from '@genshin-optimizer/gi/i18n-node'
import { getArtSetStat } from '@genshin-optimizer/gi/stats'
import { EmbedBuilder } from 'discord.js'
import { rarityColors } from '../../assets/assets'
import { createAmbrUrl } from '../../lib/util'
import { giURL } from '../../lib/util'
import { clean, translate } from '../archive'

export async function artifactArchive(id: ArtifactSetKey, lang: string) {
Expand All @@ -30,7 +30,7 @@ export async function artifactArchive(id: ArtifactSetKey, lang: string) {
.setDescription(clean(text))
const thumbnail =
AssetData.artifacts[id].flower ?? AssetData.artifacts[id].circlet
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail, 'reliquary'))
if (thumbnail) embed.setThumbnail(giURL(thumbnail, 'reliquary'))

return {
content: '',
Expand Down
18 changes: 9 additions & 9 deletions apps/somnia/src/commands/archive/char.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
StringSelectMenuOptionBuilder,
} from 'discord.js'
import { elementColors } from '../../assets/assets'
import { createAmbrUrl } from '../../lib/util'
import { giURL } from '../../lib/util'
import { clean, talentlist, translate } from '../archive'
import { baseCharStats, getFixed } from '../go/calculator'

Expand Down Expand Up @@ -62,7 +62,7 @@ function baseEmbed(id: CharacterKey, lang: string) {
})
.setAuthor({
name: getName(id, lang),
iconURL: createAmbrUrl(icon),
iconURL: giURL(icon),
})
.setColor(elementColors[element])
}
Expand Down Expand Up @@ -95,11 +95,11 @@ function profileEmbed(id: CharacterKey, namespace: string, lang: string) {
embed
.setAuthor({
name: getName(id, lang),
iconURL: createAmbrUrl(CommonAssetData.elemIcons[element]),
iconURL: giURL(CommonAssetData.elemIcons[element]),
})
.setDescription(clean(text))
const thumbnail = getAssets(id).icon
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail))
if (thumbnail) embed.setThumbnail(giURL(thumbnail))
return embed
}

Expand All @@ -118,7 +118,7 @@ function normalsEmbed(id: CharacterKey, namespace: string, lang: string) {
'\n\n'
)
)
.setThumbnail(createAmbrUrl(CommonAssetData.normalIcons[weapon]))
.setThumbnail(giURL(CommonAssetData.normalIcons[weapon]))
}

function skillEmbed(id: CharacterKey, namespace: string, lang: string) {
Expand All @@ -127,7 +127,7 @@ function skillEmbed(id: CharacterKey, namespace: string, lang: string) {
.setTitle(skill.name)
.setDescription(clean(Object.values(skill.description).flat().join('\n')))
const thumbnail = getAssets(id).skill
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail))
if (thumbnail) embed.setThumbnail(giURL(thumbnail))
return embed
}

Expand All @@ -137,7 +137,7 @@ function burstEmbed(id: CharacterKey, namespace: string, lang: string) {
.setTitle(burst.name)
.setDescription(clean(Object.values(burst.description).flat().join('\n')))
const thumbnail = getAssets(id).burst
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail))
if (thumbnail) embed.setThumbnail(giURL(thumbnail))
return embed
}

Expand Down Expand Up @@ -174,7 +174,7 @@ function passivesEmbed(
}
const embed = baseEmbed(id, lang).setDescription(clean(text))
const thumbnail = getAssets(id)[showPassives[0]]
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail))
if (thumbnail) embed.setThumbnail(giURL(thumbnail))
return embed
}

Expand Down Expand Up @@ -207,7 +207,7 @@ function constellationsEmbed(
if (constellationName != 'constellationName')
embed.setTitle(constellationName)
const thumbnail = getAssets(id)[`constellation${showCons[0]}`]
if (thumbnail) embed.setThumbnail(createAmbrUrl(thumbnail))
if (thumbnail) embed.setThumbnail(giURL(thumbnail))
return embed
}

Expand Down
4 changes: 2 additions & 2 deletions apps/somnia/src/commands/archive/weapon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
StringSelectMenuOptionBuilder,
} from 'discord.js'
import { rarityColors } from '../../assets/assets'
import { createAmbrUrl } from '../../lib/util'
import { giURL } from '../../lib/util'
import { clean, translate } from '../archive'
import { getFixed } from '../go/calculator'

Expand Down Expand Up @@ -113,7 +113,7 @@ export async function weaponArchive(id: WeaponKey, lang: string, args: string) {
text: 'Weapon Archive',
})
.setDescription(clean(text))
.setThumbnail(createAmbrUrl(AssetData.weapons[id].icon)),
.setThumbnail(giURL(AssetData.weapons[id].icon)),
]
return msg
}
8 changes: 4 additions & 4 deletions apps/somnia/src/commands/databank/char.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
StringSelectMenuBuilder,
StringSelectMenuOptionBuilder,
} from 'discord.js'
import { createYattaUrl } from '../../lib/util'
import { hsrURL } from '../../lib/util'
import { clean, skillsList } from '../databank'

function getEmbed(
Expand Down Expand Up @@ -47,7 +47,7 @@ function baseEmbed(id: CharacterDataKey, name: string) {
})
.setAuthor({
name: name,
iconURL: createYattaUrl('avatar/medium', thumbnail),
iconURL: hsrURL('avatar/medium', thumbnail),
})
//.setColor(elementColors[element])
}
Expand All @@ -68,7 +68,7 @@ function skillEmbed(
}
const embed = baseEmbed(id, name).setDescription(clean(text))
const thumbnail = getAssets(id)[ability]
if (thumbnail) embed.setThumbnail(createYattaUrl('skill', thumbnail[0]))
if (thumbnail) embed.setThumbnail(hsrURL('skill', thumbnail[0]))
return embed
}

Expand All @@ -94,7 +94,7 @@ function eidolonsEmbed(
const embed = baseEmbed(id, name).setDescription(clean(text))
if (data.constellationName) embed.setTitle(data.constellationName)
const thumbnail = getAssets(id)[`eidolon${showCons[0]}`]
if (thumbnail) embed.setThumbnail(createYattaUrl('skill', thumbnail))
if (thumbnail) embed.setThumbnail(hsrURL('skill', thumbnail))
return embed
}

Expand Down
4 changes: 2 additions & 2 deletions apps/somnia/src/commands/databank/lightcone.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
StringSelectMenuOptionBuilder,
} from 'discord.js'
import { rarityColors } from '../../assets/assets'
import { createYattaUrl } from '../../lib/util'
import { hsrURL } from '../../lib/util'
import { clean } from '../archive'

const superimpositions: Record<string, string> = {
Expand Down Expand Up @@ -71,7 +71,7 @@ export function lightconeBank(
text: 'Light Cone Databank',
})
.setDescription(clean(text))
.setThumbnail(createYattaUrl('equipment/medium', thumbnail)),
.setThumbnail(hsrURL('equipment/medium', thumbnail)),
]
return msg
}
4 changes: 2 additions & 2 deletions apps/somnia/src/commands/databank/relics.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AssetData } from '@genshin-optimizer/sr/assets-data'
import type { RelicSetKey } from '@genshin-optimizer/sr/consts'
import { EmbedBuilder } from 'discord.js'
import { createYattaUrl } from '../../lib/util'
import { hsrURL } from '../../lib/util'
import { clean } from '../archive'

export function relicBank(id: RelicSetKey, name: string, data: any) {
Expand All @@ -22,7 +22,7 @@ export function relicBank(id: RelicSetKey, name: string, data: any) {
let thumbnail = ''
if ('sphere' in relic) thumbnail = relic.sphere
else if ('head' in relic) thumbnail = relic.head
if (thumbnail) embed.setThumbnail(createYattaUrl('relic', thumbnail))
if (thumbnail) embed.setThumbnail(hsrURL('relic', thumbnail))

return {
content: '',
Expand Down
14 changes: 5 additions & 9 deletions apps/somnia/src/lib/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,17 @@
import * as process from 'process'
export const cwd = process.env['NX_WORKSPACE_ROOT'] ?? process.cwd()

const AMBR_BASE_URL = 'https://api.ambr.top/assets/UI/'
export function createAmbrUrl(
const GI_BASE_URL = 'https://gi.yatta.moe/assets/UI/'
export function giURL(
asset: string,
category = '.',
base = AMBR_BASE_URL,
base = GI_BASE_URL,
fileExt = '.png'
) {
return new URL(`${category}/${asset}${fileExt}`, base).toString()
}
const YATTA_BASE_URL = 'https://api.yatta.top/hsr/assets/UI/'
export function createYattaUrl(
category: string,
asset: string,
base = YATTA_BASE_URL
) {
const HSR_BASE_URL = 'https://sr.yatta.moe/hsr/assets/UI/'
export function hsrURL(category: string, asset: string, base = HSR_BASE_URL) {
const path = asset.split('/')
const name = path[path.length - 1]
return new URL(`${category}/${name}`, base).toString()
Expand Down
Loading