Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 421b66875cc0564d10c72401e6ba82d5a4d3c6f9 Author: Tilo Spannagel <development@tilosp.de> Date: Sun Aug 30 14:01:52 2020 +0000 Switch to upstream gomatrix (#1219) Signed-off-by: Tilo Spannagel <development@tilosp.de> diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go index c2305bd..ce03254 100644 --- a/bridge/matrix/matrix.go +++ b/bridge/matrix/matrix.go @@ -147 +147 @@ import (   "github.com/42wim/matterbridge/bridge"   "github.com/42wim/matterbridge/bridge/config"   "github.com/42wim/matterbridge/bridge/helper" - matrix "github.com/matterbridge/gomatrix" + matrix "github.com/matrix-org/gomatrix"  )    type Bmatrix struct { @@ -499 +4910 @@ func (b *Bmatrix) Connect() error {   return err   }   resp, err := b.mc.Login(&matrix.ReqLogin{ - Type: "m.login.password", - User: b.GetString("Login"), - Password: b.GetString("Password"), + Type: "m.login.password", + User: b.GetString("Login"), + Password: b.GetString("Password"), + Identifier: matrix.NewUserIdentifier(b.GetString("Login")),   })   if err != nil {   return err @@ -1667 +1677 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {   }     // Post normal message with HTML support (eg riot.im) - resp, err := b.mc.SendHTML(channel, plainUsername+msg.Text, username+helper.ParseMarkdown(msg.Text)) + resp, err := b.mc.SendFormattedText(channel, plainUsername+msg.Text, username+helper.ParseMarkdown(msg.Text))   if err != nil {   return "", err   } @@ -37013 +37129 @@ func (b *Bmatrix) handleUploadFile(msg *config.Message, channel string, fi *conf   }   case strings.Contains(mtype, "application"):   b.Log.Debugf("sendFile %s", res.ContentURI) - _, err = b.mc.SendFile(channel, fi.Name, res.ContentURI, mtype, uint(len(*fi.Data))) + _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.FileMessage{ + MsgType: "m.file", + Body: fi.Name, + URL: res.ContentURI, + Info: matrix.FileInfo{ + Mimetype: mtype, + Size: uint(len(*fi.Data)), + }, + })   if err != nil {   b.Log.Errorf("sendFile failed: %#v", err)   }   case strings.Contains(mtype, "audio"):   b.Log.Debugf("sendAudio %s", res.ContentURI) - _, err = b.mc.SendAudio(channel, fi.Name, res.ContentURI, mtype, uint(len(*fi.Data))) + _, err = b.mc.SendMessageEvent(channel, "m.room.message", matrix.AudioMessage{ + MsgType: "m.audio", + Body: fi.Name, + URL: res.ContentURI, + Info: matrix.AudioInfo{ + Mimetype: mtype, + Size: uint(len(*fi.Data)), + }, + })   if err != nil {   b.Log.Errorf("sendAudio failed: %#v", err)   } @@ -40212 +41918 @@ func (b *Bmatrix) containsAttachment(content map[string]interface{}) bool {    // getAvatarURL returns the avatar URL of the specified sender  func (b *Bmatrix) getAvatarURL(sender string) string { - mxcURL, err := b.mc.GetSenderAvatarURL(sender) + urlPath := b.mc.BuildURL("profile", sender, "avatar_url") + + s := struct { + AvatarURL string `json:"avatar_url"` + }{} + + err := b.mc.MakeRequest("GET", urlPath, nil, &s)   if err != nil {   b.Log.Errorf("getAvatarURL failed: %s", err)   return ""   } - url := strings.ReplaceAll(mxcURL, "mxc://", b.GetString("Server")+"/_matrix/media/r0/thumbnail/") + url := strings.ReplaceAll(s.AvatarURL, "mxc://", b.GetString("Server")+"/_matrix/media/r0/thumbnail/")   if url != "" {   url += "?width=37&height=37&method=crop"   } diff --git a/go.mod b/go.mod index af556d1..bfc4a3b 100644 --- a/go.mod +++ b/go.mod @@ -2011 +2011 @@ require (   github.com/keybase/go-keybase-chat-bot v0.0.0-20200505163032-5cacf52379da   github.com/labstack/echo/v4 v4.1.16   github.com/lrstanley/girc v0.0.0-20190801035559-4fc93959e1a7 + github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd   github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20200411204219-d5c18ce75048   github.com/matterbridge/discordgo v0.21.2-0.20200718144317-01fe5db6c78d   github.com/matterbridge/emoji v2.1.1-0.20191117213217-af507f6b02db+incompatible   github.com/matterbridge/go-xmpp v0.0.0-20200418225040-c8a3a57b4050 - github.com/matterbridge/gomatrix v0.0.0-20200209224845-c2104d7936a6   github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913   github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba   github.com/mattermost/mattermost-server/v5 v5.25.2 diff --git a/go.sum b/go.sum index 389094b..3e23660 100644 --- a/go.sum +++ b/go.sum @@ -3446 +3448 @@ github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP  github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=  github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=  github.com/marstr/guid v0.0.0-20170427235115-8bdf7d1a087c/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd h1:xVrqJK3xHREMNjwjljkAUaadalWc0rRbmVuQatzmgwg= +github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd/go.mod h1:/gBX06Kw0exX1HrwmoBibFA98yBk/jxKpGVeyQbff+s=  github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20200411204219-d5c18ce75048 h1:B9HaistmV+MD8/33BXmZe1zPIn+RImAFVXNNSOrwU2E=  github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20200411204219-d5c18ce75048/go.mod h1:c6MxwqHD+0HvtAJjsHMIdPCiAwGiQwPRPTp69ACMg8A=  github.com/matterbridge/discordgo v0.21.2-0.20200718144317-01fe5db6c78d h1:NBckP4nw7qVspbt7cOZYsrOrEbq7tATdMjSjc1hW63A= @@ -3528 +3546 @@ github.com/matterbridge/emoji v2.1.1-0.20191117213217-af507f6b02db+incompatible  github.com/matterbridge/emoji v2.1.1-0.20191117213217-af507f6b02db+incompatible/go.mod h1:igE6rUAn3jai2wCdsjFHfhUoekjrFthoEjFObKKwSb4=  github.com/matterbridge/go-xmpp v0.0.0-20200418225040-c8a3a57b4050 h1:kWkP1lXpkvtoNL08jkP3XQH/zvDOEXJpdCJd/DlIvMw=  github.com/matterbridge/go-xmpp v0.0.0-20200418225040-c8a3a57b4050/go.mod h1:ECDRehsR9TYTKCAsRS8/wLeOk6UUqDydw47ln7wG41Q= -github.com/matterbridge/gomatrix v0.0.0-20200209224845-c2104d7936a6 h1:Kl65VJv38HjYFnnwH+MP6Z8hcJT5UHuSpHVU5vW1HH0= -github.com/matterbridge/gomatrix v0.0.0-20200209224845-c2104d7936a6/go.mod h1:+jWeaaUtXQbBRdKYWfjW6JDDYiI2XXE+3NnTjW5kg8g=  github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913 h1:5UGr9fLsvAvhjP6i5XJmd0ZIwYVR2gZCzU1lJZ7wfLY=  github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA=  github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba h1:XleOY4IjAEIcxAh+IFwT5JT5Ze3RHiYz6m+4ZfZ0rc0=