this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

handle bsky.app urls in get-record (#596)

got tired of translating bsky.app links into at:// links

authored by

Whyrusleeping and committed by
GitHub
06c2c155 72a3a35a

+39
+39
cmd/gosky/main.go
··· 435 435 436 436 fmt.Println(string(b)) 437 437 return nil 438 + } else if strings.HasPrefix(cctx.Args().First(), "https://bsky.app") { 439 + xrpcc, err := cliutil.GetXrpcClient(cctx, false) 440 + if err != nil { 441 + return err 442 + } 443 + 444 + parts := strings.Split(cctx.Args().First(), "/") 445 + if len(parts) < 4 { 446 + return fmt.Errorf("invalid post url") 447 + } 448 + rkey := parts[len(parts)-1] 449 + did := parts[len(parts)-3] 450 + 451 + var collection string 452 + switch parts[len(parts)-2] { 453 + case "post": 454 + collection = "app.bsky.feed.post" 455 + case "profile": 456 + collection = "app.bsky.actor.profile" 457 + did = rkey 458 + rkey = "self" 459 + case "feed": 460 + collection = "app.bsky.feed.generator" 461 + default: 462 + return fmt.Errorf("unrecognized link") 463 + } 464 + 465 + out, err := comatproto.RepoGetRecord(ctx, xrpcc, "", collection, did, rkey) 466 + if err != nil { 467 + return err 468 + } 469 + 470 + b, err := json.MarshalIndent(out.Value.Val, "", " ") 471 + if err != nil { 472 + return err 473 + } 474 + 475 + fmt.Println(string(b)) 476 + return nil 438 477 } else { 439 478 fb, err := os.ReadFile(rfi) 440 479 if err != nil {