From b86482cd7704fe20c09aaa3ec1e06846f764429e Mon Sep 17 00:00:00 2001 From: Chris Rhodes Date: Fri, 2 Nov 2018 10:37:52 -0700 Subject: [PATCH] Backport retrieving Guilds from State to develop. Fix bugs when Guild is Unavailable --- restapi.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/restapi.go b/restapi.go index 16a3547..84a2a31 100644 --- a/restapi.go +++ b/restapi.go @@ -578,6 +578,14 @@ func memberPermissions(guild *Guild, channel *Channel, member *Member) (apermiss // Guild returns a Guild structure of a specific Guild. // guildID : The ID of a Guild 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)) if err != nil { return