|
@@ -1,23 +1,80 @@
|
|
|
package discordgo
|
|
|
|
|
|
type Server struct {
|
|
|
- Id int `json:"id,string"`
|
|
|
- Name string `json:"name"`
|
|
|
- Icon string `json:"icon"`
|
|
|
- Region string `json:"region"`
|
|
|
- Joined_at string `json:"joined_at"`
|
|
|
- Afk_timeout int `json:"afk_timeout"`
|
|
|
- Afk_channel_id int `json:"afk_channel_id"`
|
|
|
- Embed_channel_id int `json:"embed_channel_id"`
|
|
|
- Embed_enabled bool `json:"embed_enabled"`
|
|
|
- Owner_id int `json:"owner_id,string"`
|
|
|
- Roles []Role `json:"roles"`
|
|
|
- Session *Session // I got to be doing it wrong here.
|
|
|
+ Id int `json:"id,string"`
|
|
|
+ Name string `json:"name"`
|
|
|
+ Icon string `json:"icon"`
|
|
|
+ Region string `json:"region"`
|
|
|
+ Joined_at string `json:"joined_at"`
|
|
|
+ Afk_timeout int `json:"afk_timeout"`
|
|
|
+ Afk_channel_id int `json:"afk_channel_id"`
|
|
|
+ Embed_channel_id int `json:"embed_channel_id"`
|
|
|
+ Embed_enabled bool `json:"embed_enabled"`
|
|
|
+ Owner_id int `json:"owner_id,string"`
|
|
|
+ Large bool `json:"large"` // ??
|
|
|
+ JoinedAt string `json:"joined_at"` // make this a timestamp
|
|
|
+ Roles []Role `json:"roles"`
|
|
|
+ Members []Member `json:"members"`
|
|
|
+ Presences []Presence `json:"presences"`
|
|
|
+ Channels []Channel `json:"channels"`
|
|
|
+ // VoiceStates []VoiceState `json:"voice_states"`
|
|
|
+ Session *Session // I got to be doing it wrong here.
|
|
|
+}
|
|
|
+
|
|
|
+type VoiceStates struct {
|
|
|
+ UserId int `json:"user_id,string"`
|
|
|
+ Suppress bool `json:"suppress"`
|
|
|
+ SessionId string `json:"session_id"`
|
|
|
+ SelfMute bool `json:"self_mute"`
|
|
|
+ SelfDeaf bool `json:"self_deaf"`
|
|
|
+ Mute bool `json:"mute"`
|
|
|
+ Deaf bool `json:"deaf"`
|
|
|
+ ChannelId int `json:"channel_id,string"`
|
|
|
+}
|
|
|
+
|
|
|
+type Presence struct {
|
|
|
+ User User `json:"user"`
|
|
|
+ Status string `json:"status"`
|
|
|
+ GameId int `json:"game_id"`
|
|
|
+}
|
|
|
+
|
|
|
+// TODO: Member vs User?
|
|
|
+type Member struct {
|
|
|
+ JoinedAt string `json:"joined_at"`
|
|
|
+ Deaf bool `json:"deaf"`
|
|
|
+ mute bool `json:"mute"`
|
|
|
+ User User `json:"user"`
|
|
|
+ Roles []Role `json:"roles"`
|
|
|
+}
|
|
|
+
|
|
|
+type Role struct {
|
|
|
+ Id int `json:"id,string"`
|
|
|
+ Name string `json:"name"`
|
|
|
+ Managed bool `json:"managed"`
|
|
|
+ Color int `json:"color"`
|
|
|
+ Hoist bool `json:"hoist"`
|
|
|
+ Position int `json:"position"`
|
|
|
+ Permissions int `json:"permissions"`
|
|
|
}
|
|
|
|
|
|
// Channels returns an array of Channel structures for channels within
|
|
|
// this Server
|
|
|
+/*
|
|
|
+TODO: How to name these? If we make a variable to store
|
|
|
+channels from READY packet, etc. We can't have a Channel
|
|
|
+func? And which is better. Channels func gets live up
|
|
|
+to date data on each call.. so, there is some benefit there.
|
|
|
+
|
|
|
+Maybe it should have both, but make the Channels check and
|
|
|
+pull new data based on a cache time?
|
|
|
+
|
|
|
func (s *Server) Channels() (c []Channel, err error) {
|
|
|
c, err = Channels(s.Session, s.Id)
|
|
|
return
|
|
|
}
|
|
|
+*/
|
|
|
+/*
|
|
|
+
|
|
|
+func (s *Server) Members() (m []Users, err error) {
|
|
|
+}
|
|
|
+*/
|