From 35e6225f87fbbbeed4b856bfce220c0f794c7662 Mon Sep 17 00:00:00 2001 From: VagantemNumen Date: Sat, 14 May 2016 05:23:50 +0500 Subject: [PATCH] Added ChannelMessagesBulkDelete function. Requires a channelID and a slice of messageIDs from the channel. If only on ID is in the slice calls ChannelMessageDelete() internally. If the slice of IDs is empty do nothing. --- restapi.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/restapi.go b/restapi.go index 06c2485..aba74ef 100644 --- a/restapi.go +++ b/restapi.go @@ -1107,6 +1107,30 @@ func (s *Session) ChannelMessageDelete(channelID, messageID string) (err error) return } +// ChannelMessagesBulkDelete bulk deletes the messages from the channel for the provided messageIDs. +// If only one messageID is in the slice call channelMessageDelete funciton. +// If the slice is empty do nothing. +// channelID : The ID of the channel for the messages to delete. +// messages : The IDs of the messages to be deleted. A slice of string IDs. +func (s *Session) ChannelMessagesBulkDelete(channelID string, messages []string) (err error) { + + if len(messages) == 0 { + return + } + + if len(messages) == 1 { + err = s.ChannelMessageDelete(channelID, messages[0]) + return + } + + data := struct { + Messages []string `json:"messages"` + }{messages} + + _, err = s.Request("POST", CHANNEL_MESSAGES_BULK_DELETE(channelID), data) + return +} + // ChannelFileSend sends a file to the given channel. // channelID : The ID of a Channel. // io.Reader : A reader for the file contents.