Handle app.bsky.embed.record
All checks were successful
/ build (push) Successful in 1m31s

This commit is contained in:
Astra 2026-03-26 11:56:31 +00:00
parent 60f9482f67
commit 46a33f2af7
2 changed files with 16 additions and 6 deletions

View file

@ -419,8 +419,8 @@ func (p *Post) GetEmbeds() []ParsedEmbeds {
case "app.bsky.embed.record": case "app.bsky.embed.record":
if p.Embed.Record != nil { if p.Embed.Record != nil {
parsedEmbeds = append(parsedEmbeds, ParsedEmbeds{ parsedEmbeds = append(parsedEmbeds, ParsedEmbeds{
URI: p.Embed.Record.Record.URI, URI: p.Embed.Record.URI,
Cid: p.Embed.Record.Record.Cid, Cid: p.Embed.Record.Cid,
Type: "record", Type: "record",
}) })
} }

18
main.go
View file

@ -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{} mediaGroup := []tgbotapi.InputMedia{}
if ps.Embed.Type == "app.bsky.embed.recordWithMedia" { 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") log.Print("No mediaGroup to send, see previous error")
} else { } else {
if isEditedPost { if isEditedPost {
resp, err := h.tg.Send(tgbotapi.NewEditMessageCaption(telegramRecord.ChannelID, telegramRecord.MessageID[0], captionText)) h.tg.Send(tgbotapi.NewEditMessageCaption(telegramRecord.ChannelID, telegramRecord.MessageID[0], captionText))
fmt.Println(resp, err)
} else { } else {
resp, _ := h.tg.SendMediaGroup(tgbotapi.NewMediaGroup(cid, mediaGroup)) resp, _ := h.tg.SendMediaGroup(tgbotapi.NewMediaGroup(cid, mediaGroup))
uri, postCid := getLink(event) uri, postCid := getLink(event)
@ -436,7 +443,10 @@ func (h *handler) ProcessPost(event *models.Event) error {
m.LinkPreviewOptions = tgbotapi.LinkPreviewOptions{IsDisabled: true} m.LinkPreviewOptions = tgbotapi.LinkPreviewOptions{IsDisabled: true}
} }
resp, e := h.tg.Send(m) 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) uri, postCid := getLink(event)
h.bsky.Bluesky.CommitTelegramResponse(&bsky.TelegramRecord{ h.bsky.Bluesky.CommitTelegramResponse(&bsky.TelegramRecord{
ChannelID: resp.Chat.ID, ChannelID: resp.Chat.ID,