diff --git a/main.go b/main.go index 79f890a..875b6ba 100644 --- a/main.go +++ b/main.go @@ -64,21 +64,26 @@ func main() { ts := feed["metaData"].(map[string]any)["timeStamp"].(string) - for { - var p statsapi.Push - err = ws.ReadJSON(&p) - if err != nil { - log.Fatal(err) - } + 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) if err != nil { log.Fatal(err) } - - ts = feed["metaData"].(map[string]any)["timeStamp"].(string) - writeTest(feed, ts) - - fmt.Println("update") + } else { + for _, patch := range patches { + for _, instr := range patch.Diff { + feed.Patch(&instr) + } + } } + + game.Update(&feed) + fmt.Println(game) }