Backport retrieving Guilds from State to develop. Fix bugs when Guild is Unavailable

This commit is contained in:
Chris Rhodes 2018-11-02 10:37:52 -07:00
parent 412fc067e6
commit b86482cd77

View file

@ -578,6 +578,14 @@ func memberPermissions(guild *Guild, channel *Channel, member *Member) (apermiss
// Guild returns a Guild structure of a specific Guild. // Guild returns a Guild structure of a specific Guild.
// guildID : The ID of a Guild // guildID : The ID of a Guild
func (s *Session) Guild(guildID string) (st *Guild, err error) { func (s *Session) Guild(guildID string) (st *Guild, err error) {
if s.StateEnabled {
// Attempt to grab the guild from State first.
st, err = s.State.Guild(guildID)
if err == nil && !st.Unavailable {
return
}
}
body, err := s.RequestWithBucketID("GET", EndpointGuild(guildID), nil, EndpointGuild(guildID)) body, err := s.RequestWithBucketID("GET", EndpointGuild(guildID), nil, EndpointGuild(guildID))
if err != nil { if err != nil {
return return