Make update status a little more idiomatic.

This also reduces the line count a smidge.
This commit is contained in:
Chris Rhodes 2015-12-28 19:05:42 -08:00
parent bb4f63775e
commit 974d5862a4

View file

@ -60,12 +60,12 @@ func (s *Session) Handshake() (err error) {
}
type updateStatusGame struct {
Name string `json:"name"`
Name *string `json:"name"`
}
type updateStatusData struct {
IdleSince json.Token `json:"idle_since"`
Game interface{} `json:"game"`
IdleSince *int `json:"idle_since"`
Game updateStatusGame `json:"game"`
}
type updateStatusOp struct {
@ -80,17 +80,10 @@ func (s *Session) UpdateStatus(idle int, game string) (err error) {
var usd updateStatusData
if idle > 0 {
usd.IdleSince = idle
} else {
usd.IdleSince = nil
usd.IdleSince = &idle
}
var usg updateStatusGame
if game == "" {
usd.Game = nil
} else {
usg.Name = game
usd.Game = usg
if game != "" {
usd.Game.Name = &game
}
data := updateStatusOp{3, usd}