summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bridge/config/config.go1
-rw-r--r--bridge/matrix/matrix.go11
2 files changed, 10 insertions, 2 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go
index a08ae00b..6f34131f 100644
--- a/bridge/config/config.go
+++ b/bridge/config/config.go
@@ -52,6 +52,7 @@ type Protocol struct {
NickServNick string // IRC
NickServPassword string // IRC
NicksPerRow int // mattermost, slack
+ NoHomeServerSuffix bool // matrix
NoTLS bool // mattermost
Password string // IRC,mattermost,XMPP,matrix
PrefixMessagesWithNick bool // mattemost, slack
diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go
index add7e408..628e8d91 100644
--- a/bridge/matrix/matrix.go
+++ b/bridge/matrix/matrix.go
@@ -1,10 +1,12 @@
package bmatrix
import (
+ "regexp"
+ "sync"
+
"github.com/42wim/matterbridge/bridge/config"
log "github.com/Sirupsen/logrus"
matrix "github.com/matrix-org/gomatrix"
- "sync"
)
type Bmatrix struct {
@@ -101,8 +103,13 @@ func (b *Bmatrix) handlematrix() error {
flog.Debugf("Unknown room %s", ev.RoomID)
return
}
+ username := ev.Sender[1:]
+ if b.Config.NoHomeServerSuffix {
+ re := regexp.MustCompile("(.*?):.*")
+ username = re.ReplaceAllString(username, `$1`)
+ }
flog.Debugf("Sending message from %s on %s to gateway", ev.Sender, b.Account)
- b.Remote <- config.Message{Username: ev.Sender, Text: ev.Content["body"].(string), Channel: channel, Account: b.Account}
+ b.Remote <- config.Message{Username: username, Text: ev.Content["body"].(string), Channel: channel, Account: b.Account}
}
flog.Debugf("Received: %#v", ev)
})