package main import "encoding/json" type Message struct { ID string TS uint64 Source string Channel string Thread string EventName string Event string Plaintext string Asset string } func (m Message) Empty() bool { return m == (Message{}) } func (m Message) Serialize() []byte { b, err := json.Marshal(m) if err != nil { panic(err) } return b } func MustDeserialize(b []byte) Message { m, err := Deserialize(b) if err != nil { panic(err) } return m } func Deserialize(b []byte) (Message, error) { var m Message err := json.Unmarshal(b, &m) return m, err }