Improvements

This commit is contained in:
MistahJ 2019-10-26 09:53:31 -07:00
parent 7057551cd0
commit f4d9341a31

View file

@ -399,9 +399,9 @@ func (s *Session) UpdateStatusComplex(usd UpdateStatusData) (err error) {
} }
type requestGuildMembersData struct { type requestGuildMembersData struct {
GuildID []string `json:"guild_id"` GuildIDs []string `json:"guild_id"`
Query string `json:"query"` Query string `json:"query"`
Limit int `json:"limit"` Limit int `json:"limit"`
} }
type requestGuildMembersOp struct { type requestGuildMembersOp struct {
@ -411,10 +411,35 @@ type requestGuildMembersOp struct {
// RequestGuildMembers requests guild members from the gateway // RequestGuildMembers requests guild members from the gateway
// The gateway responds with GuildMembersChunk events // The gateway responds with GuildMembersChunk events
// guildID : Single Guild ID to request members of
// query : String that username starts with, leave empty to return all members
// limit : Max number of items to return, or 0 to request all members matched
func (s *Session) RequestGuildMembers(guildID string, query string, limit int) (err error) {
data := requestGuildMembersData{
GuildIDs: []string{guildID},
Query: query,
Limit: limit,
}
err = s.requestGuildMember(data)
return err
}
// RequestGuildMembersBatch requests guild members from the gateway
// The gateway responds with GuildMembersChunk events
// guildID : Slice of guild IDs to request members of // guildID : Slice of guild IDs to request members of
// query : String that username starts with, leave empty to return all members // query : String that username starts with, leave empty to return all members
// limit : Max number of items to return, or 0 to request all members matched // limit : Max number of items to return, or 0 to request all members matched
func (s *Session) RequestGuildMembers(guildID []string, query string, limit int) (err error) { func (s *Session) RequestGuildMembersBatch(guildIDs []string, query string, limit int) (err error) {
data := requestGuildMembersData{
GuildIDs: guildIDs,
Query: query,
Limit: limit,
}
err = s.requestGuildMember(data)
return err
}
func (s *Session) requestGuildMember(data requestGuildMembersData) (err error) {
s.log(LogInformational, "called") s.log(LogInformational, "called")
s.RLock() s.RLock()
@ -423,17 +448,11 @@ func (s *Session) RequestGuildMembers(guildID []string, query string, limit int)
return ErrWSNotFound return ErrWSNotFound
} }
data := requestGuildMembersData{
GuildID: guildID,
Query: query,
Limit: limit,
}
s.wsMutex.Lock() s.wsMutex.Lock()
err = s.wsConn.WriteJSON(requestGuildMembersOp{8, data}) err = s.wsConn.WriteJSON(requestGuildMembersOp{8, data})
s.wsMutex.Unlock() s.wsMutex.Unlock()
return return err
} }
// onEvent is the "event handler" for all messages received on the // onEvent is the "event handler" for all messages received on the