From 1690279d5c39f140abc58e61cd1a266b4fbc4091 Mon Sep 17 00:00:00 2001 From: astravexton Date: Fri, 11 Jul 2025 14:15:09 +0100 Subject: [PATCH] add support for multiple message IDs --- bsky/bluesky.go | 2 +- main.go | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/bsky/bluesky.go b/bsky/bluesky.go index 38422f7..1ca7bd5 100644 --- a/bsky/bluesky.go +++ b/bsky/bluesky.go @@ -127,7 +127,7 @@ func (bluesky *Bluesky) CheckSessionValid() { type TelegramRecord struct { ChannelID int64 `json:"channel_id"` - MessageID int `json:"message_id"` + MessageID []int `json:"message_id"` Link *Link `json:"link"` Error string `json:"error"` Message string `json:"message"` diff --git a/main.go b/main.go index 2e9a476..acbbc01 100644 --- a/main.go +++ b/main.go @@ -92,8 +92,10 @@ func main() { r, e := h.bsky.Bluesky.GetTelegramData(s[2]) if e == "" { log.Printf("Found post %s in channel %d, deleting", s[2], r.ChannelID) - m := tgbotapi.NewDeleteMessage(r.ChannelID, r.MessageID) - h.tg.Send(m) + for _, msgID := range r.MessageID { + m := tgbotapi.NewDeleteMessage(r.ChannelID, msgID) + h.tg.Send(m) + } h.bsky.Bluesky.DeleteRecord([]string{s[2], s[1], "blue.zio.bsky2tg.post"}) } else { log.Printf("Unable to find post %s on PDS", s[2]) @@ -169,8 +171,10 @@ func (h *handler) HandleEvent(ctx context.Context, event *models.Event) error { bsky.PersistAuthSession(h.bsky.Bluesky.Cfg) r, e := h.bsky.Bluesky.GetTelegramData(event.Commit.RKey) if e == "" { - m := tgbotapi.NewDeleteMessage(r.ChannelID, r.MessageID) - h.tg.Send(m) + for _, msgID := range r.MessageID { + m := tgbotapi.NewDeleteMessage(r.ChannelID, msgID) + h.tg.Send(m) + } h.bsky.Bluesky.DeleteRecord([]string{event.Commit.RKey, event.Did, "blue.zio.bsky2tg.post"}) } } @@ -278,9 +282,13 @@ func (h *handler) ProcessPost(event *models.Event) error { } else { resp, _ := h.tg.SendMediaGroup(tgbotapi.NewMediaGroup(cid, mediaGroup)) uri, cid := getLink(event) + var messageIDs []int + for _, msgID := range resp { + messageIDs = append(messageIDs, msgID.MessageID) + } h.bsky.Bluesky.CommitTelegramResponse(&bsky.TelegramRecord{ ChannelID: resp[0].Chat.ID, - MessageID: resp[0].MessageID, + MessageID: messageIDs, Link: &bsky.Link{ Cid: cid, URI: uri, @@ -312,7 +320,7 @@ func (h *handler) ProcessPost(event *models.Event) error { uri, cid := getLink(event) h.bsky.Bluesky.CommitTelegramResponse(&bsky.TelegramRecord{ ChannelID: resp.Chat.ID, - MessageID: resp.MessageID, + MessageID: []int{resp.MessageID}, Link: &bsky.Link{ Cid: cid, URI: uri,