Skip to content

Commit

Permalink
feat: add thumbnails to author object
Browse files Browse the repository at this point in the history
  • Loading branch information
fent committed Nov 23, 2020
1 parent 4a04862 commit 4012a15
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
10 changes: 7 additions & 3 deletions lib/info-extras.js
Expand Up @@ -89,7 +89,7 @@ const isVerified = badges => !!(badges && badges.find(b => b.metadataBadgeRender
* @returns {Object}
*/
exports.getAuthor = info => {
let channelId, avatar, subscriberCount, verified = false;
let channelId, thumbnails = [], subscriberCount, verified = false;
try {
let results = info.response.contents.twoColumnWatchNextResults.results.results.contents;
let v = results.find(v2 =>
Expand All @@ -98,7 +98,10 @@ exports.getAuthor = info => {
v2.videoSecondaryInfoRenderer.owner.videoOwnerRenderer);
let videoOwnerRenderer = v.videoSecondaryInfoRenderer.owner.videoOwnerRenderer;
channelId = videoOwnerRenderer.navigationEndpoint.browseEndpoint.browseId;
avatar = urllib.resolve(VIDEO_URL, videoOwnerRenderer.thumbnail.thumbnails[0].url);
thumbnails = videoOwnerRenderer.thumbnail.thumbnails.map(thumbnail => {
thumbnail.url = urllib.resolve(VIDEO_URL, thumbnail.url);
return thumbnail;
});
subscriberCount = utils.parseAbbreviatedNumber(getText(videoOwnerRenderer.subscriberCountText));
verified = isVerified(videoOwnerRenderer.badges);
} catch (err) {
Expand All @@ -114,10 +117,11 @@ exports.getAuthor = info => {
channel_url: `https://www.youtube.com/channel/${id}`,
external_channel_url: `https://www.youtube.com/channel/${videoDetails.externalChannelId}`,
user_url: urllib.resolve(VIDEO_URL, videoDetails.ownerProfileUrl),
avatar,
thumbnails,
verified,
subscriber_count: subscriberCount,
};
utils.deprecate(author, 'avatar', author.thumbnails[0].url, 'author.avatar', 'author.thumbnails[0].url');
return author;
} catch (err) {
return {};
Expand Down
2 changes: 2 additions & 0 deletions test/info-extras-test.js
Expand Up @@ -55,6 +55,7 @@ describe('extras.getAuthor()', () => {
const author = extras.getAuthor(info);
assert.ok(author);
assertURL(author.avatar);
assertThumbnails(author.thumbnails);
assertChannelURL(author.channel_url);
assertChannelURL(author.external_channel_url);
assertUserID(author.id);
Expand All @@ -80,6 +81,7 @@ describe('extras.getAuthor()', () => {
const author = extras.getAuthor(info);
assert.ok(author);
assertURL(author.avatar);
assertThumbnails(author.thumbnails);
assertChannelURL(author.channel_url);
assertChannelURL(author.external_channel_url);
assertUserID(author.id);
Expand Down
1 change: 1 addition & 0 deletions typings/index.d.ts
Expand Up @@ -146,6 +146,7 @@ declare module 'ytdl-core' {
id: string;
name: string;
avatar: string; // to remove later
thumbnails: thumbnail[];
verified: boolean;
user?: string;
channel_url: string;
Expand Down

0 comments on commit 4012a15

Please sign in to comment.