mirror of
https://github.com/iv-org/invidious.git
synced 2025-08-13 16:18:29 +00:00
Add support for verified badges on comments
This commit is contained in:
parent
814e8f14e2
commit
4f1cb26d96
@ -1302,7 +1302,7 @@ get "/feed/channel/:ucid" do |env|
|
|||||||
title: title,
|
title: title,
|
||||||
id: video_id,
|
id: video_id,
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: false,
|
author_verified: false,
|
||||||
ucid: ucid,
|
ucid: ucid,
|
||||||
published: published,
|
published: published,
|
||||||
views: views,
|
views: views,
|
||||||
@ -1550,7 +1550,7 @@ post "/feed/webhook/:token" do |env|
|
|||||||
updated: updated,
|
updated: updated,
|
||||||
ucid: video.ucid,
|
ucid: video.ucid,
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: false,
|
author_verified: false,
|
||||||
length_seconds: video.length_seconds,
|
length_seconds: video.length_seconds,
|
||||||
live_now: video.live_now,
|
live_now: video.live_now,
|
||||||
premiere_timestamp: video.premiere_timestamp,
|
premiere_timestamp: video.premiere_timestamp,
|
||||||
|
@ -126,7 +126,7 @@ struct AboutChannel
|
|||||||
property auto_generated : Bool
|
property auto_generated : Bool
|
||||||
property author_url : String
|
property author_url : String
|
||||||
property author_thumbnail : String
|
property author_thumbnail : String
|
||||||
property author_verified : Bool
|
property author_verified : Bool
|
||||||
property banner : String?
|
property banner : String?
|
||||||
property description_html : String
|
property description_html : String
|
||||||
property paid : Bool
|
property paid : Bool
|
||||||
@ -276,7 +276,7 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil)
|
|||||||
updated: Time.utc,
|
updated: Time.utc,
|
||||||
ucid: ucid,
|
ucid: ucid,
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: false,
|
author_verified: false,
|
||||||
length_seconds: length_seconds,
|
length_seconds: length_seconds,
|
||||||
live_now: live_now,
|
live_now: live_now,
|
||||||
premiere_timestamp: premiere_timestamp,
|
premiere_timestamp: premiere_timestamp,
|
||||||
@ -285,7 +285,7 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil)
|
|||||||
|
|
||||||
# I don't understand enough about the database to do anything. Thus:
|
# I don't understand enough about the database to do anything. Thus:
|
||||||
reduced_video_list = {video_id, title, published, Time.utc, ucid, author,
|
reduced_video_list = {video_id, title, published, Time.utc, ucid, author,
|
||||||
length_seconds, live_now, premiere_timestamp, views}
|
length_seconds, live_now, premiere_timestamp, views}
|
||||||
|
|
||||||
LOGGER.trace("fetch_channel: #{ucid} : video #{video_id} : Updating or inserting video")
|
LOGGER.trace("fetch_channel: #{ucid} : video #{video_id} : Updating or inserting video")
|
||||||
|
|
||||||
@ -324,7 +324,7 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil)
|
|||||||
updated: Time.utc,
|
updated: Time.utc,
|
||||||
ucid: video.ucid,
|
ucid: video.ucid,
|
||||||
author: video.author,
|
author: video.author,
|
||||||
author_verified: video.author_verified,
|
author_verified: video.author_verified,
|
||||||
length_seconds: video.length_seconds,
|
length_seconds: video.length_seconds,
|
||||||
live_now: video.live_now,
|
live_now: video.live_now,
|
||||||
premiere_timestamp: video.premiere_timestamp,
|
premiere_timestamp: video.premiere_timestamp,
|
||||||
@ -925,7 +925,7 @@ def get_about_info(ucid, locale)
|
|||||||
auto_generated: auto_generated,
|
auto_generated: auto_generated,
|
||||||
author_url: author_url,
|
author_url: author_url,
|
||||||
author_thumbnail: author_thumbnail,
|
author_thumbnail: author_thumbnail,
|
||||||
author_verified: author_verified,
|
author_verified: author_verified,
|
||||||
banner: banner,
|
banner: banner,
|
||||||
description_html: description_html,
|
description_html: description_html,
|
||||||
paid: paid,
|
paid: paid,
|
||||||
|
@ -148,8 +148,10 @@ def fetch_youtube_comments(id, db, cursor, format, locale, thin_mode, region, so
|
|||||||
|
|
||||||
content_html = node_comment["contentText"]?.try { |t| parse_content(t) } || ""
|
content_html = node_comment["contentText"]?.try { |t| parse_content(t) } || ""
|
||||||
author = node_comment["authorText"]?.try &.["simpleText"]? || ""
|
author = node_comment["authorText"]?.try &.["simpleText"]? || ""
|
||||||
|
author_verified = node_comment["authorCommentBadge"]?.try &.["authorCommentBadgeRenderer"]["iconTooltip"].to_s == "Verified" ? true : false || false
|
||||||
|
|
||||||
json.field "author", author
|
json.field "author", author
|
||||||
|
json.field "author_verified", author_verified
|
||||||
json.field "authorThumbnails" do
|
json.field "authorThumbnails" do
|
||||||
json.array do
|
json.array do
|
||||||
node_comment["authorThumbnail"]["thumbnails"].as_a.each do |thumbnail|
|
node_comment["authorThumbnail"]["thumbnails"].as_a.each do |thumbnail|
|
||||||
@ -319,7 +321,9 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false)
|
|||||||
<p>
|
<p>
|
||||||
<b>
|
<b>
|
||||||
<a class="#{child["authorIsChannelOwner"] == true ? "channel-owner" : ""}" href="#{child["authorUrl"]}">#{child["author"]}</a>
|
<a class="#{child["authorIsChannelOwner"] == true ? "channel-owner" : ""}" href="#{child["authorUrl"]}">#{child["author"]}</a>
|
||||||
|
#{child["author_verified"]? == true ? "<a class=\"channel_badge\"><i class=\"icon ion-md-checkmark-circle\"></i></a>" : ""}
|
||||||
</b>
|
</b>
|
||||||
|
</p>
|
||||||
<p style="white-space:pre-wrap">#{child["contentHtml"]}</p>
|
<p style="white-space:pre-wrap">#{child["contentHtml"]}</p>
|
||||||
END_HTML
|
END_HTML
|
||||||
|
|
||||||
|
@ -299,7 +299,7 @@ def extract_item(item : JSON::Any, author_fallback : String? = nil, author_id_fa
|
|||||||
title: title,
|
title: title,
|
||||||
id: video_id,
|
id: video_id,
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: author_verified,
|
author_verified: author_verified,
|
||||||
ucid: author_id,
|
ucid: author_id,
|
||||||
published: published,
|
published: published,
|
||||||
views: view_count,
|
views: view_count,
|
||||||
@ -326,7 +326,7 @@ def extract_item(item : JSON::Any, author_fallback : String? = nil, author_id_fa
|
|||||||
|
|
||||||
SearchChannel.new({
|
SearchChannel.new({
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: author_verified,
|
author_verified: author_verified,
|
||||||
ucid: author_id,
|
ucid: author_id,
|
||||||
author_thumbnail: author_thumbnail,
|
author_thumbnail: author_thumbnail,
|
||||||
subscriber_count: subscriber_count,
|
subscriber_count: subscriber_count,
|
||||||
@ -342,14 +342,14 @@ def extract_item(item : JSON::Any, author_fallback : String? = nil, author_id_fa
|
|||||||
playlist_thumbnail = i["thumbnail"]["thumbnails"][0]?.try &.["url"]?.try &.as_s || ""
|
playlist_thumbnail = i["thumbnail"]["thumbnails"][0]?.try &.["url"]?.try &.as_s || ""
|
||||||
|
|
||||||
SearchPlaylist.new({
|
SearchPlaylist.new({
|
||||||
title: title,
|
title: title,
|
||||||
id: plid,
|
id: plid,
|
||||||
author: author_fallback || "",
|
author: author_fallback || "",
|
||||||
author_verified: false,
|
author_verified: false,
|
||||||
ucid: author_id_fallback || "",
|
ucid: author_id_fallback || "",
|
||||||
video_count: video_count,
|
video_count: video_count,
|
||||||
videos: [] of SearchPlaylistVideo,
|
videos: [] of SearchPlaylistVideo,
|
||||||
thumbnail: playlist_thumbnail,
|
thumbnail: playlist_thumbnail,
|
||||||
})
|
})
|
||||||
elsif i = item["playlistRenderer"]?
|
elsif i = item["playlistRenderer"]?
|
||||||
title = i["title"]["simpleText"]?.try &.as_s || ""
|
title = i["title"]["simpleText"]?.try &.as_s || ""
|
||||||
@ -378,14 +378,14 @@ def extract_item(item : JSON::Any, author_fallback : String? = nil, author_id_fa
|
|||||||
# TODO: i["publishedTimeText"]?
|
# TODO: i["publishedTimeText"]?
|
||||||
|
|
||||||
SearchPlaylist.new({
|
SearchPlaylist.new({
|
||||||
title: title,
|
title: title,
|
||||||
id: plid,
|
id: plid,
|
||||||
author: author,
|
author: author,
|
||||||
author_verified: author_verified,
|
author_verified: author_verified,
|
||||||
ucid: author_id,
|
ucid: author_id,
|
||||||
video_count: video_count,
|
video_count: video_count,
|
||||||
videos: videos,
|
videos: videos,
|
||||||
thumbnail: playlist_thumbnail,
|
thumbnail: playlist_thumbnail,
|
||||||
})
|
})
|
||||||
elsif i = item["radioRenderer"]? # Mix
|
elsif i = item["radioRenderer"]? # Mix
|
||||||
# TODO
|
# TODO
|
||||||
|
Loading…
Reference in New Issue
Block a user