From 7e147cb2a8cbffa918974e54220d0ddbdb01fca9 Mon Sep 17 00:00:00 2001 From: astra Date: Tue, 9 Jun 2026 09:18:36 +0100 Subject: [PATCH] Add support for app.bsky.embed.gallery --- bsky/parse.go | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/bsky/parse.go b/bsky/parse.go index 86978e7..1f71baf 100644 --- a/bsky/parse.go +++ b/bsky/parse.go @@ -84,12 +84,13 @@ type PostRecord struct { } type Embed struct { - Type string `json:"$type,omitempty"` - Media *Media `json:"media,omitempty"` - Images []Images `json:"images,omitempty"` - Video *Video `json:"video,omitempty"` - Record *PostRecord `json:"record,omitempty"` - External *External `json:"external,omitempty"` + Type string `json:"$type,omitempty"` + Media *Media `json:"media,omitempty"` + Images []Images `json:"images,omitempty"` + Video *Video `json:"video,omitempty"` + Record *PostRecord `json:"record,omitempty"` + External *External `json:"external,omitempty"` + GalleryItems []Images `json:"items,omitempty"` } type Values struct { @@ -425,6 +426,16 @@ func (p *Post) GetEmbeds() []ParsedEmbeds { }) } + case "app.bsky.embed.gallery": + for _, item := range p.Embed.GalleryItems { + if item.Image != nil && item.Image.Ref != nil { + parsedEmbeds = append(parsedEmbeds, ParsedEmbeds{ + URI: item.Image.Ref.Link, + Type: "image", + }) + } + } + case "app.bsky.embed.recordWithMedia": // Quote post - also extract the media it contains if p.Embed.Record != nil {