diff options
author | Duco van Amstel <duco.vanamstel@gmail.com> | 2018-11-12 14:58:00 +0000 |
---|---|---|
committer | Wim <wim@42.be> | 2018-11-12 15:58:00 +0100 |
commit | e9419f10d3d24e24c9cedab93104c418f383782c (patch) | |
tree | 860289779c6086fc5c75051033edf4de32a8da12 /bridge/slack/slack.go | |
parent | cded603c275f4bd95687800286483518e4a5dc4f (diff) | |
download | matterbridge-msglm-e9419f10d3d24e24c9cedab93104c418f383782c.tar.gz matterbridge-msglm-e9419f10d3d24e24c9cedab93104c418f383782c.tar.bz2 matterbridge-msglm-e9419f10d3d24e24c9cedab93104c418f383782c.zip |
Restore file comments coming from Slack (#583)
Diffstat (limited to 'bridge/slack/slack.go')
-rw-r--r-- | bridge/slack/slack.go | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index 038e0d90..ecf58287 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -207,7 +207,7 @@ func (b *Bslack) Send(msg config.Message) (string, error) { // sendWebhook uses the configured WebhookURL to send the message func (b *Bslack) sendWebhook(msg config.Message) (string, error) { - // skip events + // Skip events. if msg.Event != "" { return "", nil } @@ -217,7 +217,7 @@ func (b *Bslack) sendWebhook(msg config.Message) (string, error) { } if msg.Extra != nil { - // this sends a message only if we received a config.EVENT_FILE_FAILURE_SIZE + // This sends a message only if we received a config.EVENT_FILE_FAILURE_SIZE. for _, rmsg := range helper.HandleExtra(&msg, b.General) { rmsg := rmsg // scopelint iconURL := config.GetIconURL(&rmsg, b.GetString(iconURLConfig)) @@ -232,16 +232,20 @@ func (b *Bslack) sendWebhook(msg config.Message) (string, error) { } } - // webhook doesn't support file uploads, so we add the url manually + // Webhook doesn't support file uploads, so we add the URL manually. for _, f := range msg.Extra["file"] { - fi := f.(config.FileInfo) + fi, ok := f.(config.FileInfo) + if !ok { + b.Log.Errorf("Received a file with unexpected content: %#v", f) + continue + } if fi.URL != "" { msg.Text += " " + fi.URL } } } - // if we have native slack_attachments add them + // If we have native slack_attachments add them. var attachs []slack.Attachment for _, attach := range msg.Extra[sSlackAttachment] { attachs = append(attachs, attach.([]slack.Attachment)...) @@ -258,9 +262,8 @@ func (b *Bslack) sendWebhook(msg config.Message) (string, error) { if msg.Avatar != "" { matterMessage.IconURL = msg.Avatar } - err := b.mh.Send(matterMessage) - if err != nil { - b.Log.Error(err) + if err := b.mh.Send(matterMessage); err != nil { + b.Log.Errorf("Failed to send message via webhook: %#v", err) return "", err } return "", nil @@ -373,7 +376,11 @@ func (b *Bslack) postMessage(msg *config.Message, messageParameters *slack.PostM // uploadFile handles native upload of files func (b *Bslack) uploadFile(msg *config.Message, channelID string) { for _, f := range msg.Extra["file"] { - fi := f.(config.FileInfo) + fi, ok := f.(config.FileInfo) + if !ok { + b.Log.Errorf("Received a file with unexpected content: %#v", f) + continue + } if msg.Text == fi.Comment { msg.Text = "" } |