summaryrefslogtreecommitdiffstats
path: root/bridge/slack/slack.go
diff options
context:
space:
mode:
authorDuco van Amstel <duco.vanamstel@gmail.com>2018-11-12 14:58:00 +0000
committerWim <wim@42.be>2018-11-12 15:58:00 +0100
commite9419f10d3d24e24c9cedab93104c418f383782c (patch)
tree860289779c6086fc5c75051033edf4de32a8da12 /bridge/slack/slack.go
parentcded603c275f4bd95687800286483518e4a5dc4f (diff)
downloadmatterbridge-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.go25
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 = ""
}