From bd092e94d6d0d2d252f1fbca5d8eae9f7e58bcbc Mon Sep 17 00:00:00 2001 From: Ben Robinson Date: Tue, 21 Aug 2018 08:45:00 +0100 Subject: [PATCH 1/2] Add ability to send message on group channel --- groupchannels.go | 28 ++++++++++++++++++++++++++++ templates/templates.go | 1 + 2 files changed, 29 insertions(+) diff --git a/groupchannels.go b/groupchannels.go index 17d613f..19be2e5 100644 --- a/groupchannels.go +++ b/groupchannels.go @@ -376,3 +376,31 @@ func (c *Client) LeaveFromAGroupChannel(channelURL string, r *LeaveFromAGroupCha type LeaveFromAGroupChannelRequest struct { UserIDs []string `json:"user_ids"` } + +func (c *Client) SendMessageToGroupChannel( + channelURL string, + r *SendMessageToGroupChannelRequest, +) (sendbirdErrorResponse, error) { + pathString, err := templates.GetGroupChannelTemplate( + groupChannelsTemplateData{ChannelURL: url.PathEscape(channelURL)}, + templates.SendbirdURLGroupChannelsSendMessageWithChannelURL, + ) + if err != nil { + return sendbirdErrorResponse{}, err + } + + parsedURL := c.PrepareUrl(pathString) + + result := sendbirdErrorResponse{} + + if err := c.postAndReturnJSON(parsedURL, r, &result); err != nil { + return sendbirdErrorResponse{}, err + } + return result, nil +} + +type SendMessageToGroupChannelRequest struct { + MessageType string `json:"message_type"` + UserID string `json:"user_id"` + Message string `json:"message"` +} diff --git a/templates/templates.go b/templates/templates.go index 700e480..0fdf279 100644 --- a/templates/templates.go +++ b/templates/templates.go @@ -144,6 +144,7 @@ const ( SendbirdURLGroupChannelsInviteWithChannelURL templateKeysGroupChannels = `invite` SendbirdURLGroupChannelsHideWithChannelURL templateKeysGroupChannels = `hide` SendbirdURLGroupChannelsLeaveWithChannelURL templateKeysGroupChannels = `leave` + SendbirdURLGroupChannelsSendMessageWithChannelURL templateKeysGroupChannels = `messages` //Channel Metadata SendbirdURLChannelMetadataWithChannelTypeAndChannelURL templateKeysChannelMetadata = `chMeta` From e003eb980990620e093aa158c5e0ecea22210e11 Mon Sep 17 00:00:00 2001 From: Ben Robinson Date: Tue, 21 Aug 2018 09:48:10 +0100 Subject: [PATCH 2/2] Add messages template --- templates/templates.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/templates.go b/templates/templates.go index 0fdf279..249df2e 100644 --- a/templates/templates.go +++ b/templates/templates.go @@ -67,6 +67,7 @@ const ( {{define "invite"}}{{template "base" .}}/invite{{end}} {{define "hide"}}{{template "base" .}}/hide{{end}} {{define "leave"}}{{template "base" .}}/leave{{end}} + {{define "messages"}}{{template "base" .}}/messages{{end}} {{template "base"}} {{template "members"}} @@ -74,6 +75,7 @@ const ( {{template "invite"}} {{template "hide"}} {{template "leave"}} + {{template "messages"}} ` SendbirdURLChannelMetadataTemplate = `