Added support for USER_UPDATE websocket event, closes #28

This commit is contained in:
Bruce Marriner 2015-12-21 11:24:48 -06:00
parent ac06a113ce
commit 0360acbaa0
2 changed files with 13 additions and 1 deletions

View file

@ -36,6 +36,7 @@ type Session struct {
OnMessageUpdate func(*Session, Message)
OnMessageDelete func(*Session, MessageDelete)
OnMessageAck func(*Session, MessageAck)
OnUserUpdate func(*Session, User)
OnPresenceUpdate func(*Session, PresenceUpdate)
OnVoiceStateUpdate func(*Session, VoiceState)
OnChannelCreate func(*Session, Channel)

View file

@ -174,6 +174,17 @@ func (s *Session) event(messageType int, message []byte) (err error) {
}
s.onVoiceStateUpdate(st)
return
case "USER_UPDATE":
if s.OnUserUpdate != nil {
var st User
if err := json.Unmarshal(e.RawData, &st); err != nil {
fmt.Println(e.Type, err)
printJSON(e.RawData) // TODO: Better error logging
return err
}
s.OnUserUpdate(s, st)
return
}
case "PRESENCE_UPDATE":
if s.OnPresenceUpdate != nil {
var st PresenceUpdate
@ -390,7 +401,7 @@ func (s *Session) event(messageType int, message []byte) (err error) {
}
default:
fmt.Println("UNKNOWN EVENT: ", e.Type)
// learn the log package
// TODO learn the log package
// log.print type and JSON data
}