diff options
Diffstat (limited to 'bridge/matrix')
-rw-r--r-- | bridge/matrix/matrix.go | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go index ce032542..c3605b61 100644 --- a/bridge/matrix/matrix.go +++ b/bridge/matrix/matrix.go @@ -333,10 +333,6 @@ func (b *Bmatrix) handleUploadFile(msg *config.Message, channel string, fi *conf content := bytes.NewReader(*fi.Data) sp := strings.Split(fi.Name, ".") mtype := mime.TypeByExtension("." + sp[len(sp)-1]) - if !(strings.Contains(mtype, "image") || strings.Contains(mtype, "video") || - strings.Contains(mtype, "application") || strings.Contains(mtype, "audio")) { - return - } if fi.Comment != "" { _, err := b.mc.SendText(channel, msg.Username+fi.Comment) if err != nil { @@ -369,33 +365,33 @@ func (b *Bmatrix) handleUploadFile(msg *config.Message, channel string, fi *conf if err != nil { b.Log.Errorf("sendImage failed: %#v", err) } - case strings.Contains(mtype, "application"): - b.Log.Debugf("sendFile %s", res.ContentURI) - _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.FileMessage{ - MsgType: "m.file", + case strings.Contains(mtype, "audio"): + b.Log.Debugf("sendAudio %s", res.ContentURI) + _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.AudioMessage{ + MsgType: "m.audio", Body: fi.Name, URL: res.ContentURI, - Info: matrix.FileInfo{ + Info: matrix.AudioInfo{ Mimetype: mtype, Size: uint(len(*fi.Data)), }, }) if err != nil { - b.Log.Errorf("sendFile failed: %#v", err) + b.Log.Errorf("sendAudio failed: %#v", err) } - case strings.Contains(mtype, "audio"): - b.Log.Debugf("sendAudio %s", res.ContentURI) - _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.AudioMessage{ - MsgType: "m.audio", + default: + b.Log.Debugf("sendFile %s", res.ContentURI) + _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.FileMessage{ + MsgType: "m.file", Body: fi.Name, URL: res.ContentURI, - Info: matrix.AudioInfo{ + Info: matrix.FileInfo{ Mimetype: mtype, Size: uint(len(*fi.Data)), }, }) if err != nil { - b.Log.Errorf("sendAudio failed: %#v", err) + b.Log.Errorf("sendFile failed: %#v", err) } } b.Log.Debugf("result: %#v", res) |