39 lines
747 B
Go

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
}