diff --git a/main.go b/main.go index 29c3282..f59e825 100644 --- a/main.go +++ b/main.go @@ -44,7 +44,8 @@ type handler struct { } var ( - post = flag.String("post", "", "URL to a BlueSky post") + post = flag.String("post", "", "URL to a BlueSky post") + delete = flag.Bool("delete", false, "true/false to delete post") ) func main() { @@ -85,6 +86,19 @@ func main() { handle, _ = bskyClient.ResolveHandle(s[1]) } + if *delete { + 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) + 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]) + } + return + } + postJSON := bskyClient.Bluesky.FetchPost(handle, s[2]) p, _ := json.Marshal(postJSON.Record) h.ProcessPost(&models.Event{ @@ -196,7 +210,7 @@ func (h *handler) HandleEvent(ctx context.Context, event *models.Event) error { if e == "" { m := tgbotapi.NewDeleteMessage(r.ChannelID, r.MessageID) h.tg.Send(m) - h.bsky.Bluesky.DeleteRecord([]string{event.Commit.RKey, event.Did, event.Commit.Collection}) + h.bsky.Bluesky.DeleteRecord([]string{event.Commit.RKey, event.Did, "blue.zio.bsky2tg.post"}) } }