handle bluesky "handle" that is a "did"

This commit is contained in:
Yay295 2024-11-14 23:48:46 -06:00 committed by Liam
parent 1bd5e897cb
commit 88f58a5474

View file

@ -19,10 +19,15 @@ defmodule PhilomenaProxy.Scrapers.Bluesky do
def scrape(_uri, url) do def scrape(_uri, url) do
[handle, id] = Regex.run(@url_regex, url, capture: :all_but_first) [handle, id] = Regex.run(@url_regex, url, capture: :all_but_first)
api_url_resolve_handle = did =
"https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=#{handle}" if String.starts_with?(handle, "did:") do
handle
else
api_url_resolve_handle =
"https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=#{handle}"
did = PhilomenaProxy.Http.get(api_url_resolve_handle) |> json!() |> Map.fetch!(:did) PhilomenaProxy.Http.get(api_url_resolve_handle) |> json!() |> Map.fetch!(:did)
end
api_url_get_posts = api_url_get_posts =
"https://public.api.bsky.app/xrpc/app.bsky.feed.getPosts?uris=at://#{did}/app.bsky.feed.post/#{id}" "https://public.api.bsky.app/xrpc/app.bsky.feed.getPosts?uris=at://#{did}/app.bsky.feed.post/#{id}"