Fixes to GuildRole events

This commit is contained in:
Bruce Marriner 2015-11-14 21:23:01 -06:00
parent 05ff822438
commit a3903aaa50
2 changed files with 34 additions and 12 deletions

View file

@ -42,9 +42,9 @@ type Session struct {
OnGuildMemberRemove func(*Session, Member)
OnGuildMemberDelete func(*Session, Member) // which is it?
OnGuildMemberUpdate func(*Session, Member)
OnGuildRoleCreate func(*Session, Role)
OnGuildRoleUpdate func(*Session, GuildRoleUpdate)
OnGuildRoleDelete func(*Session, Role)
OnGuildRoleCreate func(*Session, GuildRole)
OnGuildRoleUpdate func(*Session, GuildRole)
OnGuildRoleDelete func(*Session, GuildRoleDelete)
OnGuildIntegrationsUpdate func(*Session, GuildIntegrationsUpdate)
// OnMessageCreate func(Session, Event, Message)

View file

@ -76,9 +76,14 @@ type GuildIntegrationsUpdate struct {
GuildId string `json:"guild_id"`
}
type GuildRoleUpdate struct {
type GuildRole struct {
Role Role `json:"role"`
GuildId int `json:"guild_id,int"`
GuildId string `json:"guild_id"`
}
type GuildRoleDelete struct {
RoleId string `json:"role_id"`
GuildId string `json:"guild_id"`
}
// Open a websocket connection to Discord
@ -359,8 +364,19 @@ func (s *Session) event(messageType int, message []byte) (err error) {
return
}
case "GUILD_ROLE_CREATE":
if s.OnGuildRoleCreate != nil {
var st GuildRole
if err := json.Unmarshal(e.RawData, &st); err != nil {
fmt.Println(e.Type, err)
printJSON(e.RawData) // TODO: Better error logginEventg
return err
}
s.OnGuildRoleCreate(s, st)
return
}
case "GUILD_ROLE_UPDATE":
if s.OnGuildRoleUpdate != nil {
var st GuildRoleUpdate
var st GuildRole
if err := json.Unmarshal(e.RawData, &st); err != nil {
fmt.Println(e.Type, err)
printJSON(e.RawData) // TODO: Better error logginEventg
@ -369,11 +385,17 @@ func (s *Session) event(messageType int, message []byte) (err error) {
s.OnGuildRoleUpdate(s, st)
return
}
/*
case "GUILD_ROLE_DELETE":
if s.OnGuildRoleDelete != nil {
var st GuildRoleDelete
if err := json.Unmarshal(e.RawData, &st); err != nil {
fmt.Println(e.Type, err)
printJSON(e.RawData) // TODO: Better error logginEventg
return err
}
s.OnGuildRoleDelete(s, st)
return
}
*/
case "GUILD_INTEGRATIONS_UPDATE":
if s.OnGuildIntegrationsUpdate != nil {
var st GuildIntegrationsUpdate