From e622587db43d36d22640d9f90a92d984d6231dd3 Mon Sep 17 00:00:00 2001 From: Wim Date: Tue, 20 Feb 2018 18:57:46 +0100 Subject: [PATCH] Add label support in RemoteNickFormat --- bridge/config/config.go | 1 + gateway/gateway.go | 1 + matterbridge.toml.sample | 62 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/bridge/config/config.go b/bridge/config/config.go index c5d4f543..09338f14 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -66,6 +66,7 @@ type Protocol struct { IgnoreNicks string // all protocols IgnoreMessages string // all protocols Jid string // xmpp + Label string // all protocols Login string // mattermost, matrix MediaDownloadSize int // all protocols MediaServerDownload string diff --git a/gateway/gateway.go b/gateway/gateway.go index 6fe7f0ea..c70fbb00 100644 --- a/gateway/gateway.go +++ b/gateway/gateway.go @@ -323,6 +323,7 @@ func (gw *Gateway) modifyUsername(msg config.Message, dest *bridge.Bridge) strin } nick = strings.Replace(nick, "{BRIDGE}", br.Name, -1) nick = strings.Replace(nick, "{PROTOCOL}", br.Protocol, -1) + nick = strings.Replace(nick, "{LABEL}", br.Config.Label, -1) nick = strings.Replace(nick, "{NICK}", msg.Username, -1) return nick } diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample index e0589fcb..2f4d470e 100644 --- a/matterbridge.toml.sample +++ b/matterbridge.toml.sample @@ -117,9 +117,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #The string "{NOPINGNICK}" (case sensitive) will be replaced by the actual nick / username, but with a ZWSP inside the nick, so the irc user with the same nick won't get pinged. See https://github.com/42wim/matterbridge/issues/175 for more information #OPTIONAL (default empty) @@ -202,9 +207,14 @@ ReplaceMessages=[ ["cat","dog"] ] #OPTIONAL (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -278,9 +288,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}/{BRIDGE}] <{NICK}> " @@ -414,9 +429,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -480,9 +500,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -537,6 +562,7 @@ WebhookBindAddress="0.0.0.0:9999" #Icon that will be showed in slack #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL IconURL="https://robohash.org/{NICK}.png?size=48x48" @@ -593,9 +619,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -683,9 +714,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -772,9 +808,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -862,9 +903,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -944,9 +990,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -1020,9 +1071,14 @@ ReplaceMessages=[ ["cat","dog"] ] #optional (default empty) ReplaceNicks=[ ["user--","user"] ] +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> " @@ -1063,9 +1119,14 @@ Buffer=1000 #OPTIONAL (no authorization if token is empty) Token="mytoken" +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="{NICK}" @@ -1080,6 +1141,7 @@ RemoteNickFormat="{NICK}" #RemoteNickFormat defines how remote users appear on this bridge #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge #OPTIONAL (default empty) RemoteNickFormat="[{PROTOCOL}] <{NICK}> "