Work around a Discord server issue.

This commit is contained in:
Chris Rhodes 2016-02-22 00:11:39 -08:00
parent f58410afa4
commit abc0e5b095
2 changed files with 14 additions and 10 deletions

View file

@ -170,13 +170,14 @@ type Guild struct {
// A Role stores information about Discord guild member roles.
type Role struct {
ID string `json:"id"`
Name string `json:"name"`
Managed bool `json:"managed"`
Hoist bool `json:"hoist"`
Color int `json:"color"`
Position int `json:"position"`
Permissions int `json:"permissions"`
ID string `json:"id"`
Name string `json:"name"`
Managed bool `json:"managed"`
Hoist bool `json:"hoist"`
// This is coming back as an int or string, for now do not parse.
Color int `json:"-"`
Position int `json:"position"`
Permissions int `json:"permissions"`
}
// A VoiceState stores the voice states of Guilds
@ -274,7 +275,7 @@ type RateLimit struct {
// A ReadState stores data on the read state of channels.
type ReadState struct {
MentionCount int
MentionCount int `json:"mention_count"`
LastMessageID string `json:"last_message_id"`
ID string `json:"id"`
}

View file

@ -284,8 +284,11 @@ func (s *Session) event(messageType int, message []byte) {
// Attempt to unmarshal our event.
// If there is an error we should handle the event itself.
if err = unmarshal(e.RawData, i); err != nil {
fmt.Println("Unable to unmarshal event data.")
i = e
fmt.Println("Unable to unmarshal event data.", err)
// Ready events must fire, even if they are empty.
if e.Type != "READY" {
i = e
}
}
} else {
fmt.Println("Unknown event.")