func GetReaction(client httd.Getter, channelID, messageID Snowflake, emoji interface{}, params URLParameters) (ret []*User, err error) {
	if channelID.Empty() {
		err = errors.New("channelID must be set to target the correct channel")
		return
	}
	if messageID.Empty() {
		err = errors.New("messageID must be set to target the specific channel message")
		return
	}
	if emoji == nil {
		err = errors.New("emoji must be set in order to create a message reaction")
		return
	}

	emojiCode := ""
	if _, ok := emoji.(*Emoji); ok {
		emojiCode = emoji.(*Emoji).ID.String()
	} else if _, ok := emoji.(string); ok {
		emojiCode = emoji.(string) // unicode
	} else {
		return nil, errors.New("emoji type can only be a unicode string or a *Emoji struct")
	}

	query := ""
	if params != nil {
		query += params.GetQueryString()
	}

	_, body, err := client.Get(&httd.Request{
		Ratelimiter: ratelimitChannelMessages(channelID),
		Endpoint:    endpoint.ChannelMessageReaction(channelID, messageID, emojiCode) + query,
	})
	if err != nil {
		return
	}

	err = unmarshal(body, &ret)
	return
}
// GetReaction [GET]   		Get a list of users that reacted with this emoji. Returns an array of user objects on success.
// Endpoint               /channels/{channel.id}/messages/{message.id}/reactions/{emoji}
// Rate limiter [MAJOR]   /channels/{channel.id}/messages TODO: I have no idea if this is the correct key
// Discord documentation  https://discordapp.com/developers/docs/resources/channel#get-reactions
// Reviewed               2018-06-07
// Comment                -
// emoji either unicode (string) or *Emoji with an snowflake Snowflake if it's custom
GetReaction [GET]   		Get a list of users that reacted with this emoji. Returns an array of user objects on success.
// GetReaction [ GET ] Get a list of users that reacted with this emoji . Returns an array of user objects on success . // Endpoint / channels / { channel . id } / messages / { message . id } / reactions / { emoji } // Rate limiter [ MAJOR ] / channels / { channel . id } / messages TODO : I have no idea if this is the correct key // Discord documentation https : // discordapp . com / developers / docs / resources / channel#get - reactions // Reviewed 2018 - 06 - 07 // Comment - // emoji either unicode ( string ) or * Emoji with an snowflake Snowflake if it ' s custom
func GetReaction(client httd.Getter, channelID, messageID Snowflake, emoji interface{}, params URLParameters) (ret []*User, err error) {
	if channelID.Empty() {
		err = errors.New("channelID must be set to target the correct channel")
		return
	}
	if messageID.Empty() {
		err = errors.New("messageID must be set to target the specific channel message")
		return
	}
	if emoji == nil {
		err = errors.New("emoji must be set in order to create a message reaction")
		return
	}
	emojiCode := ""
	if _, ok := emoji.(*Emoji); ok {
		emojiCode = emoji.(*Emoji).ID.String()
	} else if _, ok := emoji.(string); ok {
		emojiCode = emoji.(string) 
	} else {
		return nil, errors.New("emoji type can only be a unicode string or a *Emoji struct")
	}
	query := ""
	if params != nil {
		query += params.GetQueryString()
	}
	_, body, err := client.Get(&httd.Request{
		Ratelimiter: ratelimitChannelMessages(channelID),
		Endpoint:    endpoint.ChannelMessageReaction(channelID, messageID, emojiCode) + query,
	})
	if err != nil {
		return
	}
	err = unmarshal(body, &ret)
	return
}
func GetReaction ( client httd . Getter , channelID , messageID Snowflake , emoji interface { } , params URLParameters ) ( ret [ ] * User , err error ) { if channelID . Empty ( ) { err = errors . New ( " " ) return } if messageID . Empty ( ) { err = errors . New ( " " ) return } if emoji == nil { err = errors . New ( " " ) return } emojiCode := " " if _ , ok := emoji . ( * Emoji ) ; ok { emojiCode = emoji . ( * Emoji ) . ID . String ( ) } else if _ , ok := emoji . ( string ) ; ok { emojiCode = emoji . ( string ) } else { return nil , errors . New ( " " ) } query := " " if params != nil { query += params . GetQueryString ( ) } _ , body , err := client . Get ( & httd . Request { Ratelimiter : ratelimitChannelMessages ( channelID ) , Endpoint : endpoint . ChannelMessageReaction ( channelID , messageID , emojiCode ) + query , } ) if err != nil { return } err = unmarshal ( body , & ret ) return }
GetReaction [GET]   		Get a list of users that reacted with this emoji.
GetReaction [ GET ] Get a list of users that reacted with this emoji .
// unicode