diff options
author | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-03-05 22:14:27 +0000 |
---|---|---|
committer | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-03-05 22:14:27 +0000 |
commit | 98da712a92bf3320e4a1045405564e76f58fb514 (patch) | |
tree | ca3eaaa8ba6be4085f23a202f1b9e132fa7a46ad /flatbot.go | |
parent | 547a44a9fb502a308f596e6ffe1a90bd6c4607bc (diff) | |
download | flatbot-98da712a92bf3320e4a1045405564e76f58fb514.tar.gz flatbot-98da712a92bf3320e4a1045405564e76f58fb514.tar.bz2 flatbot-98da712a92bf3320e4a1045405564e76f58fb514.zip |
Basic implemention of the full flow
Diffstat (limited to 'flatbot.go')
-rw-r--r-- | flatbot.go | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -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) { |