diff options
Diffstat (limited to 'gateway')
-rw-r--r-- | gateway/gateway.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gateway/gateway.go b/gateway/gateway.go index 8a0a666f..be03a99b 100644 --- a/gateway/gateway.go +++ b/gateway/gateway.go @@ -254,6 +254,20 @@ func (gw *Gateway) modifyUsername(msg config.Message, dest *bridge.Bridge) strin if nick == "" { nick = gw.Config.General.RemoteNickFormat } + + // loop to replace nicks + for _, outer := range br.Config.ReplaceNicks { + search := outer[0] + replace := outer[1] + // TODO move compile to bridge init somewhere + re, err := regexp.Compile(search) + if err != nil { + log.Errorf("regexp in %s failed: %s", msg.Account, err) + break + } + msg.Username = re.ReplaceAllString(msg.Username, replace) + } + if len(msg.Username) > 0 { // fix utf-8 issue #193 i := 0 |