Matrix: switch to the mautrix-go library
Also: add initial support for [Matrix] application services
This commit is contained in:
@@ -8,4 +8,5 @@ import (
|
||||
|
||||
func init() {
|
||||
FullMap["matrix"] = bmatrix.New
|
||||
UserTypingSupport["matrix"] = struct{}{}
|
||||
}
|
||||
|
||||
@@ -323,11 +323,12 @@ func (gw *Gateway) ignoreFilesComment(extra map[string][]interface{}, igMessages
|
||||
return false
|
||||
}
|
||||
|
||||
func (gw *Gateway) modifyUsername(msg *config.Message, dest *bridge.Bridge) string {
|
||||
func (gw *Gateway) ModifyUsername(msg *config.Message, dest *bridge.Bridge) string {
|
||||
if dest.GetBool("StripNick") {
|
||||
re := regexp.MustCompile("[^a-zA-Z0-9]+")
|
||||
msg.Username = re.ReplaceAllString(msg.Username, "")
|
||||
}
|
||||
|
||||
nick := dest.GetString("RemoteNickFormat")
|
||||
|
||||
// loop to replace nicks
|
||||
@@ -462,7 +463,7 @@ func (gw *Gateway) SendMessage(
|
||||
|
||||
msg.Channel = channel.Name
|
||||
msg.Avatar = gw.modifyAvatar(rmsg, dest)
|
||||
msg.Username = gw.modifyUsername(rmsg, dest)
|
||||
msg.Username = gw.ModifyUsername(rmsg, dest)
|
||||
|
||||
// exclude file delete event as the msg ID here is the native file ID that needs to be deleted
|
||||
if msg.Event != config.EventFileDelete {
|
||||
|
||||
@@ -75,7 +75,7 @@ func (r *Router) Start() error {
|
||||
r.logger.Infof("Starting bridge: %s ", br.Account)
|
||||
err := br.Connect()
|
||||
if err != nil {
|
||||
e := fmt.Errorf("Bridge %s failed to start: %v", br.Account, err)
|
||||
e := fmt.Errorf("bridge %s failed to initialize: %v", br.Account, err)
|
||||
if r.disableBridge(br, e) {
|
||||
continue
|
||||
}
|
||||
@@ -83,12 +83,23 @@ func (r *Router) Start() error {
|
||||
}
|
||||
err = br.JoinChannels()
|
||||
if err != nil {
|
||||
e := fmt.Errorf("Bridge %s failed to join channel: %v", br.Account, err)
|
||||
e := fmt.Errorf("bridge %s failed to join channel: %v", br.Account, err)
|
||||
if r.disableBridge(br, e) {
|
||||
continue
|
||||
}
|
||||
return e
|
||||
}
|
||||
|
||||
if starter, ok := br.Bridger.(bridge.BridgerWithChannelDependency); ok {
|
||||
err = starter.Start()
|
||||
if err != nil {
|
||||
e := fmt.Errorf("bridge %s failed to start: %v", br.Account, err)
|
||||
if r.disableBridge(br, e) {
|
||||
continue
|
||||
}
|
||||
return e
|
||||
}
|
||||
}
|
||||
}
|
||||
// remove unused bridges
|
||||
for _, gw := range r.Gateways {
|
||||
|
||||
Reference in New Issue
Block a user