diff options
| author | chunky programmer <78101139+ChunkyProgrammer@users.noreply.github.com> | 2023-04-19 23:29:50 -0400 |
|---|---|---|
| committer | chunky programmer <78101139+ChunkyProgrammer@users.noreply.github.com> | 2023-04-22 09:13:04 -0400 |
| commit | 5517a4eadb980ae06d4dde08afd10fec8c83f9b4 (patch) | |
| tree | 9f03522a621cce08ed32596401f0c9f4b19907af | |
| parent | 961cae2b9a1e1dd780e3f92d55bbc7381b39ffe1 (diff) | |
| download | invidious-5517a4eadb980ae06d4dde08afd10fec8c83f9b4.tar.gz invidious-5517a4eadb980ae06d4dde08afd10fec8c83f9b4.tar.bz2 invidious-5517a4eadb980ae06d4dde08afd10fec8c83f9b4.zip | |
fix fetching community continuations
| -rw-r--r-- | src/invidious/channels/community.cr | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/invidious/channels/community.cr b/src/invidious/channels/community.cr index ce34ff82..ad786f3a 100644 --- a/src/invidious/channels/community.cr +++ b/src/invidious/channels/community.cr @@ -31,18 +31,16 @@ def fetch_channel_community(ucid, continuation, locale, format, thin_mode) session_token: session_token, } - response = YT_POOL.client &.post("/comment_service_ajax?action_get_comments=1&ctoken=#{continuation}&continuation=#{continuation}&hl=en&gl=US", headers, form: post_req) - body = JSON.parse(response.body) + body = YoutubeAPI.browse(continuation) - body = body["response"]["continuationContents"]["itemSectionContinuation"]? || - body["response"]["continuationContents"]["backstageCommentsContinuation"]? + body = body.dig?("continuationContents", "itemSectionContinuation") || + body.dig?("continuationContents", "backstageCommentsContinuation") if !body raise InfoException.new("Could not extract continuation.") end end - continuation = body["continuations"]?.try &.[0]["nextContinuationData"]["continuation"].as_s posts = body["contents"].as_a if message = posts[0]["messageRenderer"]? @@ -270,10 +268,8 @@ def fetch_channel_community(ucid, continuation, locale, format, thin_mode) end end end - - if body["continuations"]? - continuation = body["continuations"][0]["nextContinuationData"]["continuation"].as_s - json.field "continuation", extract_channel_community_cursor(continuation) + if cont = posts.dig?(-1, "continuationItemRenderer", "continuationEndpoint", "continuationCommand", "token") + json.field "continuation", extract_channel_community_cursor(cont.as_s) end end end |
