From 1a40b0c1e9dd9772d760a68f2998b3bcb0f8a413 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 18 Sep 2017 23:51:27 +0200 Subject: Relay attachments from mattermost to slack (slack). Closes #260 --- bridge/slack/slack.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'bridge/slack') diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index fa847db9..21163116 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -163,6 +163,8 @@ func (b *Bslack) Send(msg config.Message) (string, error) { np.IconURL = msg.Avatar } np.Attachments = append(np.Attachments, slack.Attachment{CallbackID: "matterbridge"}) + np.Attachments = append(np.Attachments, b.createAttach(msg.Extra)...) + // replace mentions np.LinkNames = 1 @@ -389,3 +391,28 @@ func (b *Bslack) replaceURL(text string) string { } return text } + +func (b *Bslack) createAttach(extra []interface{}) []slack.Attachment { + var attachs []slack.Attachment + if extra != nil { + for _, v := range extra { + entry := v.(map[string]interface{}) + s := slack.Attachment{} + s.Fallback = entry["fallback"].(string) + s.Color = entry["color"].(string) + s.Pretext = entry["pretext"].(string) + s.AuthorName = entry["author_name"].(string) + s.AuthorLink = entry["author_link"].(string) + s.AuthorIcon = entry["author_icon"].(string) + s.Title = entry["title"].(string) + s.TitleLink = entry["title_link"].(string) + s.Text = entry["text"].(string) + s.ImageURL = entry["image_url"].(string) + s.ThumbURL = entry["thumb_url"].(string) + s.Footer = entry["footer"].(string) + s.FooterIcon = entry["footer_icon"].(string) + attachs = append(attachs, s) + } + } + return attachs +} -- cgit v1.2.3