Skip to content

Commit 651c3a9

Browse files
committed
Add character promotional videos
1 parent ce3f126 commit 651c3a9

File tree

3 files changed

+456
-210
lines changed

3 files changed

+456
-210
lines changed

src/commands/characters/character.ts

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,13 @@ Note: this command supports fuzzy search.`,
226226
.setDescription(char.desc)
227227
.addField("Basics", this.getBasicInfo(char))
228228

229+
if (char.media.videos)
230+
embed.setDescription(`${char.desc}\n${
231+
Object.entries(char.media.videos)
232+
.map(([title, url]) => `[${title.split(" - ")[0].replace(/^New/i, "").trim()}](${url})`)
233+
.join(" / ")
234+
}`)
235+
229236
if (data.isFullCharacter(char)) {
230237
const maxAscension = char.ascensions[char.ascensions.length - 1]
231238
embed.addField("Base stats", `${
@@ -326,6 +333,7 @@ Note: this command supports fuzzy search.`,
326333

327334
if (va.length>0)
328335
embed.addField("Voice Actors", va.join("\n"))
336+
329337
return embed
330338
}
331339

@@ -406,23 +414,31 @@ Note: this command supports fuzzy search.`,
406414
return undefined
407415
}
408416

409-
getArtPage(char: Character, relativePage: number, currentPage: number, maxPages: number): MessageEmbed | undefined {
417+
getMediaPage(char: Character, relativePage: number, currentPage: number, maxPages: number): MessageEmbed | undefined {
410418
const embed = new MessageEmbed()
411419
.setColor(Colors[char.meta.element] ?? "")
412420
.setFooter(`Page ${currentPage} / ${maxPages}`)
421+
.setTitle(`${char.name}`)
413422
if (char.icon)
414423
embed.setThumbnail(char.icon)
415424

416-
if (relativePage >= 0 && relativePage < char.imgs.length) {
417-
const img = char.imgs[relativePage]
418-
embed.setTitle(`${char.name}`)
419-
.setDescription(`[Open image in browser](${img})`)
425+
const videos = char.media.videos ? (`**Promotional Videos**
426+
${ Object
427+
.entries(char.media.videos)
428+
.map(([title, url]) => `[${title}](${url})`)
429+
.join("\n")
430+
}\n\n`) : ""
431+
432+
if (char.media.imgs && relativePage >= 0 && relativePage < char.media.imgs.length) {
433+
const img = char.media.imgs[relativePage]
434+
embed.setDescription(`${videos}[Open image in browser](${img})`)
420435
.setImage(img)
421436
embed.thumbnail = null
422437
return embed
438+
} else {
439+
embed.setDescription(videos)
440+
return embed
423441
}
424-
425-
return undefined
426442
}
427443

428444
getCharTalentPage(char: Character, relativePage: number, currentPage: number, maxPages: number, talentMode: TalentMode): MessageEmbed | undefined {
@@ -606,9 +622,9 @@ Note: this command supports fuzzy search.`,
606622

607623
pages.push({
608624
bookmarkEmoji: "🎨",
609-
bookmarkName: "Art",
610-
maxPages: char.imgs.length,
611-
pages: (rp, cp, mp) => this.getArtPage(char, rp, cp, mp)
625+
bookmarkName: "Media",
626+
maxPages: (char.media.imgs?.length ?? (char.media.videos ? 1 : 0)),
627+
pages: (rp, cp, mp) => this.getMediaPage(char, rp, cp, mp)
612628
})
613629

614630
return pages

0 commit comments

Comments
 (0)