diff --git a/main.go b/main.go index 875b6ba..472abef 100644 --- a/main.go +++ b/main.go @@ -64,26 +64,28 @@ func main() { ts := feed["metaData"].(map[string]any)["timeStamp"].(string) - var p statsapi.Push - err = ws.ReadJSON(&p) - if err != nil { - log.Fatal(err) - } - - patches, err := statsapi.DiffPatch(gamePk, ts, p.UpdateId) - if err != nil { - feed, err = statsapi.Feed(gamePk) + for { + var p statsapi.Push + err = ws.ReadJSON(&p) if err != nil { log.Fatal(err) } - } else { - for _, patch := range patches { - for _, instr := range patch.Diff { - feed.Patch(&instr) + + patches, err := statsapi.DiffPatch(gamePk, ts, p.UpdateId) + if err != nil { + feed, err = statsapi.Feed(gamePk) + if err != nil { + log.Fatal(err) + } + } else { + for _, patch := range patches { + for _, instr := range patch.Diff { + feed.Patch(&instr) + } } } - } - game.Update(&feed) - fmt.Println(game) + game.Update(&feed) + fmt.Println(game) + } }