func (m *Message42) GetProblemVotes(params *RequestParameter) ([]Vote42, error) {
	return m.client.GetProblemVotesByMessage(m.ID, params)
}
Returns all the ProblemVotes of the given Message.
package api42
import (
	"time"
)
const (
	upvote    = "upvotes"
	downvote  = "downvotes"
	trollvote = "trollvotes"
	problems  = "problems"
)
type Vote42 struct {
	ID        int        `json:"id"`
	Kind      string     `json:"kind"`
	CreatedAt *time.Time `json:"created_at"`
	User      *User42    `json:"user"`
	Message   *Message42 `json:"message"`
	client    *Client42
}
func (c *Client42) backGetVotes(params *RequestParameter, directFilter string, value interface{}, args ...interface{}) ([]Vote42, error) {
	var voteArray []Vote42
	url, err := buildUrl(voteRequest, directFilter, value, args...)
	if err != nil {
		return nil, err
	}
	_, err = c.Get(url, params, &voteArray)
	if err != nil {
		return nil, err
	}
	for i := 0; i < len(voteArray); i++ {
		voteArray[i].client = c
	}
	return voteArray, nil
}
func (c *Client42) GetVote(id interface{}) (*Vote42, error) {
	var vote *Vote42
	url, err := buildUrl(voteRequest, defaultRequest, id)
	if err != nil {
		return nil, err
	}
	_, err = c.Get(url, nil, &vote)
	if err != nil {
		return nil, err
	}
	vote.client = c
	return vote, nil
}
func (c *Client42) GetVotes(params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, defaultRequest, nil)
}
func (c *Client42) GetUpvotes(params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, defaultRequest, upvote)
}
func (c *Client42) GetDownvotes(params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, defaultRequest, downvote)
}
func (c *Client42) GetTrollvotes(params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, defaultRequest, trollvote)
}
func (c *Client42) GetProblemVotes(params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, defaultRequest, problems)
}
func (c *Client42) GetVotesByMessage(id interface{}, params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, messageRequest, id)
}
func (c *Client42) GetUpvotesByMessage(id interface{}, params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, messageRequest, id, defaultRequest, upvote)
}
func (c *Client42) GetDownvotesByMessage(id interface{}, params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, messageRequest, id, defaultRequest, downvote)
}
func (c *Client42) GetTrollvotesByMessage(id interface{}, params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, messageRequest, id, defaultRequest, trollvote)
}
func (c *Client42) GetProblemVotesByMessage(id interface{}, params *RequestParameter) ([]Vote42, error) {
	return c.backGetVotes(params, messageRequest, id, defaultRequest, problems)
}
func (m *Message42) GetVotes(params *RequestParameter) ([]Vote42, error) {
	return m.client.GetVotesByMessage(m.ID, params)
}
func (m *Message42) GetUpvotes(params *RequestParameter) ([]Vote42, error) {
	return m.client.GetUpvotesByMessage(m.ID, params)
}
func (m *Message42) GetDownvotes(params *RequestParameter) ([]Vote42, error) {
	return m.client.GetDownvotesByMessage(m.ID, params)
}
func (m *Message42) GetTrollvotes(params *RequestParameter) ([]Vote42, error) {
	return m.client.GetTrollvotesByMessage(m.ID, params)
}