Extract artist badge for YouTube channels
This commit is contained in:
parent
76ab060d57
commit
cf3d59508a
@ -9,6 +9,7 @@ export interface ChannelIconInterface {
|
||||
export class YouTubeChannel {
|
||||
name?: string;
|
||||
verified?: boolean;
|
||||
artist?: boolean;
|
||||
id?: string;
|
||||
type: 'video' | 'playlist' | 'channel';
|
||||
url?: string;
|
||||
@ -26,6 +27,7 @@ export class YouTubeChannel {
|
||||
|
||||
this.name = data.name || null;
|
||||
this.verified = !!data.verified || false;
|
||||
this.artist = !!data.artist || false;
|
||||
this.id = data.id || null;
|
||||
this.url = data.url || null;
|
||||
this.icon = data.icon || { url: null, width: 0, height: 0 };
|
||||
@ -52,6 +54,7 @@ export class YouTubeChannel {
|
||||
return {
|
||||
name: this.name,
|
||||
verified: this.verified,
|
||||
artist: this.artist,
|
||||
id: this.id,
|
||||
url: this.url,
|
||||
iconURL: this.iconURL(),
|
||||
|
||||
@ -135,7 +135,8 @@ export async function video_basic_info(url: string, options: InfoOptions = {}) {
|
||||
name: vid.author,
|
||||
id: vid.channelId,
|
||||
url: `https://www.youtube.com/channel/${vid.channelId}`,
|
||||
verified: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('verified'))
|
||||
verified: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('verified')),
|
||||
artist: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('artist'))
|
||||
},
|
||||
views: vid.viewCount,
|
||||
tags: vid.keywords,
|
||||
|
||||
@ -98,6 +98,7 @@ export function parseChannel(data?: any): YouTubeChannel {
|
||||
},
|
||||
url: url,
|
||||
verified: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('verified')),
|
||||
artist: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('artist')),
|
||||
subscribers: data.channelRenderer.subscriberCountText?.simpleText
|
||||
? data.channelRenderer.subscriberCountText.simpleText
|
||||
: '0 subscribers'
|
||||
@ -141,7 +142,8 @@ export function parseVideo(data?: any): YouTubeVideo {
|
||||
height: data.videoRenderer.channelThumbnailSupportedRenderers.channelThumbnailWithLinkRenderer.thumbnail
|
||||
.thumbnails[0].height
|
||||
},
|
||||
verified: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('verified'))
|
||||
verified: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('verified')),
|
||||
artist: Boolean(badge?.metadataBadgeRenderer?.style?.toLowerCase().includes('artist'))
|
||||
},
|
||||
uploadedAt: data.videoRenderer.publishedTimeText?.simpleText ?? null,
|
||||
views: data.videoRenderer.viewCountText?.simpleText?.replace(/[^0-9]/g, '') ?? 0,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user