Merge pull request #223 from RealCodingTeam/add-pins

Add support for message pinning, closes #219
This commit is contained in:
Bruce 2016-06-28 10:29:06 -05:00 committed by GitHub
commit cce08f8b00
2 changed files with 35 additions and 0 deletions

View file

@ -83,6 +83,8 @@ var (
EndpointChannelMessage = func(cID, mID string) string { return EndpointChannels + cID + "/messages/" + mID }
EndpointChannelMessageAck = func(cID, mID string) string { return EndpointChannels + cID + "/messages/" + mID + "/ack" }
EndpointChannelMessagesBulkDelete = func(cID string) string { return EndpointChannel(cID) + "/messages/bulk_delete" }
EndpointChannelMessagesPins = func(cID string) string { return EndpointChannel(cID) + "/pins" }
EndpointChannelMessagePin = func(cID, mID string) string { return EndpointChannel(cID) + "/pins/" + mID }
EndpointInvite = func(iID string) string { return EndpointAPI + "invite/" + iID }

View file

@ -1180,6 +1180,39 @@ func (s *Session) ChannelMessagesBulkDelete(channelID string, messages []string)
return
}
// ChannelMessagePin pins a message within a given channel.
// channelID: The ID of a channel.
// messageID: The ID of a message.
func (s *Session) ChannelMessagePin(channelID, messageID string) (err error) {
_, err = s.Request("PUT", EndpointChannelMessagePin(channelID, messageID), nil)
return
}
// ChannelMessageUnpin unpins a message within a given channel.
// channelID: The ID of a channel.
// messageID: The ID of a message.
func (s *Session) ChannelMessageUnpin(channelID, messageID string) (err error) {
_, err = s.Request("DELETE", EndpointChannelMessagePin(channelID, messageID), nil)
return
}
// ChannelMessagesPinned returns an array of Message structures for pinned messages
// within a given channel
// channelID : The ID of a Channel.
func (s *Session) ChannelMessagesPinned(channelID string) (st []*Message, err error) {
body, err := s.Request("GET", EndpointChannelMessagesPins(channelID), nil)
if err != nil {
return
}
err = unmarshal(body, &st)
return
}
// ChannelFileSend sends a file to the given channel.
// channelID : The ID of a Channel.
// io.Reader : A reader for the file contents.