Fix GuildBans. Fixes #263
@@ -118,12 +118,14 @@ type GuildDelete struct {
// GuildBanAdd is a wrapper struct for an event.
type GuildBanAdd struct {
- *GuildBan
+ *User
+ GuildID string `json:"guild_id"`
}
// GuildBanRemove is a wrapper struct for an event.
type GuildBanRemove struct {
// GuildMemberAdd is a wrapper struct for an event.
@@ -604,7 +604,7 @@ func (s *Session) GuildLeave(guildID string) (err error) {
// GuildBans returns an array of User structures for all bans of a
// given guild.
// guildID : The ID of a Guild.
-func (s *Session) GuildBans(guildID string) (st []*User, err error) {
+func (s *Session) GuildBans(guildID string) (st []*GuildBan, err error) {
body, err := s.Request("GET", EndpointGuildBans(guildID), nil)
if err != nil {
@@ -444,8 +444,8 @@ type GuildRoleDelete struct {
// A GuildBan stores data for a guild ban.
type GuildBan struct {
- User *User `json:"user"`
- GuildID string `json:"guild_id"`
+ Reason string `json:"reason"`
+ User *User `json:"user"`
// A GuildEmojisUpdate stores data for a guild emoji update event.