From 46a33f2af79965f023c6b12d0cb10e23c52a09aa Mon Sep 17 00:00:00 2001 From: Astra Date: Thu, 26 Mar 2026 11:56:31 +0000 Subject: [PATCH] Handle app.bsky.embed.record --- bsky/parse.go | 4 ++-- main.go | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/bsky/parse.go b/bsky/parse.go index 8474daa..86978e7 100644 --- a/bsky/parse.go +++ b/bsky/parse.go @@ -419,8 +419,8 @@ func (p *Post) GetEmbeds() []ParsedEmbeds { case "app.bsky.embed.record": if p.Embed.Record != nil { parsedEmbeds = append(parsedEmbeds, ParsedEmbeds{ - URI: p.Embed.Record.Record.URI, - Cid: p.Embed.Record.Record.Cid, + URI: p.Embed.Record.URI, + Cid: p.Embed.Record.Cid, Type: "record", }) } diff --git a/main.go b/main.go index 7d42a7b..31691d9 100644 --- a/main.go +++ b/main.go @@ -295,7 +295,15 @@ func (h *handler) ProcessPost(event *models.Event) error { } } - if len(po) != 0 { + hasActualMedia := false + for _, embed := range po { + if embed.Type != "record" { + hasActualMedia = true + break + } + } + + if hasActualMedia { mediaGroup := []tgbotapi.InputMedia{} if ps.Embed.Type == "app.bsky.embed.recordWithMedia" { @@ -387,8 +395,7 @@ func (h *handler) ProcessPost(event *models.Event) error { log.Print("No mediaGroup to send, see previous error") } else { if isEditedPost { - resp, err := h.tg.Send(tgbotapi.NewEditMessageCaption(telegramRecord.ChannelID, telegramRecord.MessageID[0], captionText)) - fmt.Println(resp, err) + h.tg.Send(tgbotapi.NewEditMessageCaption(telegramRecord.ChannelID, telegramRecord.MessageID[0], captionText)) } else { resp, _ := h.tg.SendMediaGroup(tgbotapi.NewMediaGroup(cid, mediaGroup)) uri, postCid := getLink(event) @@ -436,7 +443,10 @@ func (h *handler) ProcessPost(event *models.Event) error { m.LinkPreviewOptions = tgbotapi.LinkPreviewOptions{IsDisabled: true} } resp, e := h.tg.Send(m) - fmt.Println(resp, e) + if e != nil { + log.Printf("Failed to send message: %s\n", e) + return e + } uri, postCid := getLink(event) h.bsky.Bluesky.CommitTelegramResponse(&bsky.TelegramRecord{ ChannelID: resp.Chat.ID,