package discord import ( "fmt" "git.sapphic.engineer/roleypoly/v4/types" "git.sapphic.engineer/roleypoly/v4/utils" ) type IGuild interface { GetMember(memberID string) (IMember, error) } type Guild struct { types.DiscordGuild Client IDiscordClient `json:"-"` } func (g *Guild) GetMember(memberID string) (*Member, error) { guildID := g.ID req := NewRequest("GET", utils.J("guilds", guildID, "members", memberID)) g.Client.BotAuth(req) resp, err := g.Client.Do(req) if err != nil { return nil, fmt.Errorf("Guild.GetMember: request failed: %w", err) } member := &Member{ Client: g.Client, } err = OutputResponse(resp, member) if err != nil { return nil, fmt.Errorf("Guild.GetMember: response decode failed: %w", err) } return member, nil }