From 98da712a92bf3320e4a1045405564e76f58fb514 Mon Sep 17 00:00:00 2001 From: Dmitry Ilvokhin Date: Wed, 5 Mar 2025 22:14:27 +0000 Subject: Basic implemention of the full flow --- flatbot.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'flatbot.go') diff --git a/flatbot.go b/flatbot.go index fc565f7..c04a6b0 100644 --- a/flatbot.go +++ b/flatbot.go @@ -6,6 +6,7 @@ import ( "log" "net/http" "os" + "slices" ) func main() { @@ -14,7 +15,7 @@ func main() { if err != nil { log.Fatal(err) } - flats, err := parse(body) + allFlats, err := parse(body) if err != nil { log.Fatal(err) } @@ -22,21 +23,26 @@ func main() { if err != nil { log.Fatal(err) } - flats = removeAlreadySent(flats, sent) + newFlats := removeAlreadySent(allFlats, sent) m := messenger{ Token: os.Getenv("FLATBOT_TELEGRAM_BOT_API_TOKEN"), ChatID: os.Getenv("FLATBOT_TELEGRAM_CHANNEL_ID"), } - for _, f := range flats { - err = m.Send(f) - if err != nil { - // TODO: what to do with it? - log.Print(err) + for _, f := range newFlats { + if false { + err = m.Send(f) + if err != nil { + // TODO: what to do with it? + log.Print(err) + } } sent = append(sent, f) } - fmt.Println(flats) - writeSent(flats, "/tmp/sent.json") + // Remove flats from sent that are no longer in the search response to + // prevent indefinite grow. + slices.SortFunc(allFlats, compareID) + sent = removeDelisted(sent, allFlats) + writeSent(sent, "/tmp/sent.json") } func fetch(url string) ([]byte, error) { -- cgit v1.2.3-70-g09d2