Add VerificationLevel value consts and a typedef for int

This commit is contained in:
Nicholas Stafie 2016-02-26 23:42:32 +02:00
parent 226df093f6
commit 58fe658fa5
2 changed files with 36 additions and 25 deletions

View file

@ -403,9 +403,9 @@ func (s *Session) GuildEdit(guildID string, g GuildParams) (st *Guild, err error
} }
data := struct { data := struct {
Name string `json:"name,omitempty"` Name string `json:"name,omitempty"`
Region string `json:"region,omitempty"` Region string `json:"region,omitempty"`
VerificationLevel *int `json:"verification_level,omitempty"` VerificationLevel *VerificationLevel `json:"verification_level,omitempty"`
}{g.Name, g.Region, g.VerificationLevel} }{g.Name, g.Region, g.VerificationLevel}
body, err := s.Request("PATCH", GUILD(guildID), data) body, err := s.Request("PATCH", GUILD(guildID), data)

View file

@ -145,35 +145,46 @@ type Emoji struct {
RequireColons bool `json:"require_colons"` RequireColons bool `json:"require_colons"`
} }
// Custom VerificationLevel typedef for int
type VerificationLevel int
// Constants for VerificationLevel levels from 0 to 3 inclusive
const (
VerificationLevelNone VerificationLevel = iota
VerificationLevelLow VerificationLevel = iota
VerificationLevelMedium VerificationLevel = iota
VerificationLevelHigh VerificationLevel = iota
)
// A Guild holds all data related to a specific Discord Guild. Guilds are also // A Guild holds all data related to a specific Discord Guild. Guilds are also
// sometimes referred to as Servers in the Discord client. // sometimes referred to as Servers in the Discord client.
type Guild struct { type Guild struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Icon string `json:"icon"` Icon string `json:"icon"`
Region string `json:"region"` Region string `json:"region"`
AfkChannelID string `json:"afk_channel_id"` AfkChannelID string `json:"afk_channel_id"`
EmbedChannelID string `json:"embed_channel_id"` EmbedChannelID string `json:"embed_channel_id"`
OwnerID string `json:"owner_id"` OwnerID string `json:"owner_id"`
JoinedAt string `json:"joined_at"` // make this a timestamp JoinedAt string `json:"joined_at"` // make this a timestamp
Splash string `json:"splash"` Splash string `json:"splash"`
AfkTimeout int `json:"afk_timeout"` AfkTimeout int `json:"afk_timeout"`
VerificationLevel int `json:"verification_level"` VerificationLevel VerificationLevel `json:"verification_level"`
EmbedEnabled bool `json:"embed_enabled"` EmbedEnabled bool `json:"embed_enabled"`
Large bool `json:"large"` // ?? Large bool `json:"large"` // ??
Roles []*Role `json:"roles"` Roles []*Role `json:"roles"`
Emojis []*Emoji `json:"emojis"` Emojis []*Emoji `json:"emojis"`
Members []*Member `json:"members"` Members []*Member `json:"members"`
Presences []*Presence `json:"presences"` Presences []*Presence `json:"presences"`
Channels []*Channel `json:"channels"` Channels []*Channel `json:"channels"`
VoiceStates []*VoiceState `json:"voice_states"` VoiceStates []*VoiceState `json:"voice_states"`
} }
// A GuildParams stores all the data needed to update discord guild settings // A GuildParams stores all the data needed to update discord guild settings
type GuildParams struct { type GuildParams struct {
Name string `json:"name"` Name string `json:"name"`
Region string `json:"region"` Region string `json:"region"`
VerificationLevel *int `json:"verification_level"` VerificationLevel *VerificationLevel `json:"verification_level"`
} }
// A Role stores information about Discord guild member roles. // A Role stores information about Discord guild member roles.