diff options
Diffstat (limited to 'bridge/slack/handlers.go')
-rw-r--r-- | bridge/slack/handlers.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/bridge/slack/handlers.go b/bridge/slack/handlers.go index c469b9a5..225931d4 100644 --- a/bridge/slack/handlers.go +++ b/bridge/slack/handlers.go @@ -282,6 +282,13 @@ func (b *Bslack) handleStatusEvent(ev *slack.MessageEvent, rmsg *config.Message) return false } +func getMessageTitle(attach *slack.Attachment) string { + if attach.TitleLink != "" { + return fmt.Sprintf("[%s](%s)\n", attach.Title, attach.TitleLink) + } + return attach.Title +} + func (b *Bslack) handleAttachments(ev *slack.MessageEvent, rmsg *config.Message) { // File comments are set by the system (because there is no username given). if ev.SubType == sFileComment { @@ -290,12 +297,15 @@ func (b *Bslack) handleAttachments(ev *slack.MessageEvent, rmsg *config.Message) // See if we have some text in the attachments. if rmsg.Text == "" { - for _, attach := range ev.Attachments { + for i, attach := range ev.Attachments { if attach.Text != "" { if attach.Title != "" { - rmsg.Text = attach.Title + "\n" + rmsg.Text = getMessageTitle(&ev.Attachments[i]) } rmsg.Text += attach.Text + if attach.Footer != "" { + rmsg.Text += "\n\n" + attach.Footer + } } else { rmsg.Text = attach.Fallback } |