From 3f6a127baab537bc15968f647d07c0acb1323260 Mon Sep 17 00:00:00 2001 From: rytone Date: Sat, 19 Nov 2016 22:28:52 -0600 Subject: [PATCH] Support for editing messages with embed data (#290) --- restapi.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/restapi.go b/restapi.go index fd4f8cd..a9b08ee 100644 --- a/restapi.go +++ b/restapi.go @@ -1269,6 +1269,28 @@ func (s *Session) ChannelMessageEdit(channelID, messageID, content string) (st * return } +// ChannelMessageEditEmbed edits an existing message with embedded data (bot only). +// channelID : The ID of a Channel +// messageID : The ID of a Message +// embed : The embed data to send +func (s *Session) ChannelMessageEditEmbed(channelID, messageID string, embed *MessageEmbed) (st *Message, err error) { + if embed != nil && embed.Type == "" { + embed.Type = "rich" + } + + data := struct { + Embed *MessageEmbed `json:"embed"` + }{embed} + + response, err := s.RequestWithBucketID("PATCH", EndpointChannelMessage(channelID, messageID), data, EndpointChannelMessage(channelID, "")) + if err != nil { + return + } + + err = unmarshal(response, &st) + return +} + // ChannelMessageDelete deletes a message from the Channel. func (s *Session) ChannelMessageDelete(channelID, messageID string) (err error) {