diff options
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/mattermost/mattermost.go | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/bridge/mattermost/mattermost.go b/bridge/mattermost/mattermost.go index 985d0d76..3274d81d 100644 --- a/bridge/mattermost/mattermost.go +++ b/bridge/mattermost/mattermost.go @@ -180,18 +180,23 @@ func (b *Bmattermost) Send(msg config.Message) (string, error) { return msg.ID, b.mc.DeleteMessage(msg.ID) } if msg.Extra != nil { - for _, f := range msg.Extra["file"] { - fi := f.(config.FileInfo) - id, err := b.mc.UploadFile(*fi.Data, b.mc.GetChannelId(channel, ""), fi.Name) - if err != nil { - flog.Debugf("ERROR %#v", err) - return "", err - } - message = "uploaded a file: " + fi.Name - if b.Config.PrefixMessagesWithNick { - message = nick + "uploaded a file: " + fi.Name + if len(msg.Extra["file"]) > 0 { + var err error + var res, id string + for _, f := range msg.Extra["file"] { + fi := f.(config.FileInfo) + id, err = b.mc.UploadFile(*fi.Data, b.mc.GetChannelId(channel, ""), fi.Name) + if err != nil { + flog.Debugf("ERROR %#v", err) + return "", err + } + message = "uploaded a file: " + fi.Name + if b.Config.PrefixMessagesWithNick { + message = nick + "uploaded a file: " + fi.Name + } + res, err = b.mc.PostMessageWithFiles(b.mc.GetChannelId(channel, ""), message, []string{id}) } - return b.mc.PostMessageWithFiles(b.mc.GetChannelId(channel, ""), message, []string{id}) + return res, err } } if msg.ID != "" { |