From 70feab80da0dd389a4ada197d156c733dedce994 Mon Sep 17 00:00:00 2001 From: LuanRT Date: Tue, 23 Nov 2021 07:17:17 -0300 Subject: [PATCH] fix: check if dislike count is available to avoid unexpected errors --- lib/Constants.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Constants.js b/lib/Constants.js index 59a75593..00744641 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -142,14 +142,17 @@ module.exports = { metadata.upload_date = data.microformat.playerMicroformatRenderer.uploadDate || 'N/A'; metadata.keywords = data.videoDetails.keywords || []; + video_details.id = data.videoDetails.videoId; video_details.title = data.videoDetails.title; video_details.description = data.videoDetails.shortDescription; video_details.thumbnail = data.videoDetails.thumbnail.thumbnails.slice(-1)[0]; video_details.metadata = metadata; } else { + const is_dislike_available = data[3].response.contents.singleColumnWatchNextResults.results.results.contents[1].slimVideoMetadataSectionRenderer.contents[1].slimVideoActionBarRenderer.buttons[1].slimMetadataToggleButtonRenderer.button.toggleButtonRenderer.defaultText.accessibility && true || false; + metadata.embed = data[2].playerResponse.microformat.playerMicroformatRenderer.embed; metadata.likes = parseInt(data[3].response.contents.singleColumnWatchNextResults.results.results.contents[1].slimVideoMetadataSectionRenderer.contents[1].slimVideoActionBarRenderer.buttons[0].slimMetadataToggleButtonRenderer.button.toggleButtonRenderer.defaultText.accessibility.accessibilityData.label.replace(/\D/g, '')); - metadata.dislikes = parseInt(data[3].response.contents.singleColumnWatchNextResults.results.results.contents[1].slimVideoMetadataSectionRenderer.contents[1].slimVideoActionBarRenderer.buttons[1].slimMetadataToggleButtonRenderer.button.toggleButtonRenderer.defaultText.accessibility.accessibilityData.label.replace(/\D/g, '')); + metadata.dislikes = is_dislike_available && parseInt(data[3].response.contents.singleColumnWatchNextResults.results.results.contents[1].slimVideoMetadataSectionRenderer.contents[1].slimVideoActionBarRenderer.buttons[1].slimMetadataToggleButtonRenderer.button.toggleButtonRenderer.defaultText.accessibility.accessibilityData.label.replace(/\D/g, '')) || 0; metadata.view_count = parseInt(data[2].playerResponse.videoDetails.viewCount); metadata.average_rating = data[2].playerResponse.videoDetails.averageRating; metadata.length_seconds = data[2].playerResponse.microformat.playerMicroformatRenderer.lengthSeconds; @@ -167,6 +170,7 @@ module.exports = { metadata.upload_date = data[2].playerResponse.microformat.playerMicroformatRenderer.uploadDate; metadata.keywords = data[2].playerResponse.videoDetails.keywords; + video_details.id = data[2].playerResponse.videoDetails.videoId; video_details.title = data[2].playerResponse.videoDetails.title; video_details.description = data[2].playerResponse.videoDetails.shortDescription; video_details.thumbnail = data[2].playerResponse.videoDetails.thumbnail.thumbnails.slice(-1)[0];