package commands import ( "encoding/json" "fmt" "time" "github.com/zmb3/spotify/v2" ) func (c *Commander) Status() error { state, err := c.Cache.GetOrDo("state", func() (string, error) { state, err := c.Client().PlayerState(c.Context) if err != nil { return "", err } str, err := c.FormatState(state) if err != nil { return "", nil } return str, nil }, 5*time.Second) if err != nil { return err } fmt.Println(state) return nil } func (c *Commander) FormatState(state *spotify.PlayerState) (string, error) { state.Item.AvailableMarkets = []string{} state.Item.Album.AvailableMarkets = []string{} out, err := json.MarshalIndent(state, "", " ") if err != nil { return "", err } return (string(out)), nil }