Added URL to properties in music object (#280)
* Added URL endpoints to licensed music object * Added URL info to properties in music object * Added URL to properties in music object * Added URL support for the Video Music properties with typings * Added URL to music properties in YoutubeVideo * Fixed Typings * Added footnote to music property
This commit is contained in:
parent
c40b432ee3
commit
ff0129d9db
@ -1,14 +1,24 @@
|
||||
import { YouTubeChannel } from './Channel';
|
||||
import { YouTubeThumbnail } from './Thumbnail';
|
||||
|
||||
/**
|
||||
* Licensed music in the video
|
||||
*
|
||||
* The property names change depending on your region's language.
|
||||
*/
|
||||
interface VideoMusic {
|
||||
song?: string;
|
||||
artist?: string;
|
||||
song?: string | MusicEntry;
|
||||
artist?: string | MusicEntry;
|
||||
album?: string;
|
||||
writers?: string;
|
||||
license?: string;
|
||||
}
|
||||
|
||||
interface MusicEntry {
|
||||
text?: string;
|
||||
url?: string;
|
||||
}
|
||||
|
||||
interface VideoOptions {
|
||||
/**
|
||||
* YouTube Video ID
|
||||
@ -80,6 +90,8 @@ interface VideoOptions {
|
||||
discretionAdvised?: boolean;
|
||||
/**
|
||||
* Gives info about music content in that video.
|
||||
*
|
||||
* The property names of VideoMusic change depending on your region's language.
|
||||
*/
|
||||
music?: VideoMusic[];
|
||||
/**
|
||||
|
||||
@ -223,10 +223,11 @@ export async function video_basic_info(url: string, options: InfoOptions = {}):
|
||||
|
||||
const title = row.title.simpleText ?? row.title.runs[0].text;
|
||||
const contents = row.contents[0].simpleText ?? row.contents[0]?.runs?.[0]?.text;
|
||||
const url = row.contents[0]?.runs?.[0]?.navigationEndpoint?.commandMetadata?.webCommandMetadata.url;
|
||||
|
||||
if (music.length === 0) music.push({});
|
||||
|
||||
music[music.length - 1][title.toLowerCase()] = contents;
|
||||
music[music.length - 1][title.toLowerCase()] = url ? {text: contents, url: `https://www.youtube.com${url}`} : contents;
|
||||
|
||||
if (row.hasDividerLine) music.push({});
|
||||
});
|
||||
@ -854,4 +855,4 @@ function parseDuration(text: string): number {
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user