func GetGuildMembers(client httd.Getter, guildID, after Snowflake, limit int) (ret []*Member, err error) {
	if limit > 1000 || limit < 0 {
		err = errors.New("limit value should be less than or equal to 1000, and non-negative")
		return
	}

	// TODO: convert after and limit to a query struct
	// omg i hate myself. use reflection to convert a query struct to string(?). it's at least better.
	query := ""
	if limit > 0 || !after.Empty() {
		query += "?"

		if !after.Empty() {
			query += "after=" + after.String()

			if limit > 0 {
				query += "&"
			}
		}

		if limit > 0 {
			query += "limit=" + strconv.Itoa(limit)
		}
	}

	_, body, err := client.Get(&httd.Request{
		Ratelimiter: ratelimitGuildMembers(guildID),
		Endpoint:    endpoint.GuildMembers(guildID) + query,
	})
	if err != nil {
		return
	}

	err = unmarshal(body, &ret)
	return
}
// GetGuildMembers [GET]    Returns a list of guild member objects that are members of the guild.
//													The `after` param refers to the highest snowflake.
// Endpoint                 /guilds/{guild.id}/members
// Rate limiter             /guilds/{guild.id}/members
// Discord documentation    https://discordapp.com/developers/docs/resources/guild#get-guild-members
// Reviewed                 2018-08-17
// Comment                  All parameters to this endpoint. are optional
// Comment#2                "List Guild Members"
// Comment#3                https://discordapp.com/developers/docs/resources/guild#list-guild-members-query-string-params
GetGuildMembers [GET]    Returns a list of guild member objects that are members of the guild.
The `after` param refers to the highest snowflake.
// GetGuildMembers [ GET ] Returns a list of guild member objects that are members of the guild . // The ` after ` param refers to the highest snowflake . // Endpoint / guilds / { guild . id } / members // Rate limiter / guilds / { guild . id } / members // Discord documentation https : // discordapp . com / developers / docs / resources / guild#get - guild - members // Reviewed 2018 - 08 - 17 // Comment All parameters to this endpoint . are optional // Comment#2 " List Guild Members " // Comment#3 https : // discordapp . com / developers / docs / resources / guild#list - guild - members - query - string - params
func GetGuildMembers(client httd.Getter, guildID, after Snowflake, limit int) (ret []*Member, err error) {
	if limit > 1000 || limit < 0 {
		err = errors.New("limit value should be less than or equal to 1000, and non-negative")
		return
	}
	query := ""
	if limit > 0 || !after.Empty() {
		query += "?"
		if !after.Empty() {
			query += "after=" + after.String()
			if limit > 0 {
				query += "&"
			}
		}
		if limit > 0 {
			query += "limit=" + strconv.Itoa(limit)
		}
	}
	_, body, err := client.Get(&httd.Request{
		Ratelimiter: ratelimitGuildMembers(guildID),
		Endpoint:    endpoint.GuildMembers(guildID) + query,
	})
	if err != nil {
		return
	}
	err = unmarshal(body, &ret)
	return
}
func GetGuildMembers ( client httd . Getter , guildID , after Snowflake , limit int ) ( ret [ ] * Member , err error ) { if limit > 1000 || limit < 0 { err = errors . New ( " " ) return } query := " " if limit > 0 || ! after . Empty ( ) { query += " " if ! after . Empty ( ) { query += " " + after . String ( ) if limit > 0 { query += " " } } if limit > 0 { query += " " + strconv . Itoa ( limit ) } } _ , body , err := client . Get ( & httd . Request { Ratelimiter : ratelimitGuildMembers ( guildID ) , Endpoint : endpoint . GuildMembers ( guildID ) + query , } ) if err != nil { return } err = unmarshal ( body , & ret ) return }
GetGuildMembers [GET]    Returns a list of guild member objects that are members of the guild.
GetGuildMembers [ GET ] Returns a list of guild member objects that are members of the guild .
// TODO: convert after and limit to a query struct // omg i hate myself. use reflection to convert a query struct to string(?). it's at least better.