package pluralkit import ( "net/http" "time" ) // Member is an individual member of a plural system type Member struct { ID string `json:"id"` Name *string `json:"name"` DisplayName *string `json:"display_name"` Description *string `json:"description"` Color *string `json:"color"` AvatarURL *string `json:"avatar_url"` Birthday *string `json:"birthday"` ProxyTags []ProxyTag `json:"proxy_tags"` KeepProxy bool `json:"keep_proxy"` Created time.Time `json:"created"` } // ProxyTags are the message encoding used for proxying messages type ProxyTag struct { Prefix string `json:"prefix"` Suffix string `json:"suffix"` } // Member fetches a given member by ID. func (c Client) Member(id string) (Member, error) { var result Member err := c.Do(http.MethodGet, "m/"+id, http.StatusOK, nil, &result) if err != nil { return result, err } return result, nil } // SystemMembers returns the members for a given system. func (c Client) SystemMembers(systemID string) ([]Member, error) { var result []Member err := c.Do(http.MethodGet, "s/"+systemID+"/members", http.StatusOK, nil, &result) if err != nil { return nil, err } return result, nil }