diff options
author | Iris Morelle <shadowm@wesnoth.org> | 2021-10-16 18:59:39 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-16 23:59:39 +0200 |
commit | 61bab22dde8e3abd2e1cbeb57d1f7a8d28ef95f8 (patch) | |
tree | f3540819575e7e37385cf427563bbd4591e8bffb /bridge | |
parent | 6dcc23ebb6db970994cc26ad805b7d30a037ca14 (diff) | |
download | matterbridge-msglm-61bab22dde8e3abd2e1cbeb57d1f7a8d28ef95f8.tar.gz matterbridge-msglm-61bab22dde8e3abd2e1cbeb57d1f7a8d28ef95f8.tar.bz2 matterbridge-msglm-61bab22dde8e3abd2e1cbeb57d1f7a8d28ef95f8.zip |
Add UserName and RealName options for IRC (#1590)
This allows setting custom values for the IRC username/ident and real
name (gecos) fields at server registration time with gIRC.
Co-authored-by: Wim <wim@42.be>
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/config/config.go | 2 | ||||
-rw-r--r-- | bridge/irc/irc.go | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go index a6e3c546..7b7c2f2e 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -138,6 +138,7 @@ type Protocol struct { QuoteDisable bool // telegram QuoteFormat string // telegram QuoteLengthLimit int // telegram + RealName string // IRC RejoinDelay int // IRC ReplaceMessages [][]string // all protocols ReplaceNicks [][]string // all protocols @@ -169,6 +170,7 @@ type Protocol struct { UseFirstName bool // telegram UseUserName bool // discord, matrix UseInsecureURL bool // telegram + UserName string // IRC VerboseJoinPart bool // IRC WebhookBindAddress string // mattermost, slack WebhookURL string // mattermost, slack diff --git a/bridge/irc/irc.go b/bridge/irc/irc.go index e54f8030..ac8222c6 100644 --- a/bridge/irc/irc.go +++ b/bridge/irc/irc.go @@ -271,8 +271,11 @@ func (b *Birc) getClient() (*girc.Client, error) { if err != nil { return nil, err } + user := b.GetString("UserName") + if user == "" { + user = b.GetString("Nick") + } // fix strict user handling of girc - user := b.GetString("Nick") for !girc.IsValidUser(user) { if len(user) == 1 || len(user) == 0 { user = "matterbridge" @@ -280,6 +283,10 @@ func (b *Birc) getClient() (*girc.Client, error) { } user = user[1:] } + realName := b.GetString("RealName") + if realName == "" { + realName = b.GetString("Nick") + } debug := ioutil.Discard if b.GetInt("DebugLevel") == 2 { @@ -299,7 +306,7 @@ func (b *Birc) getClient() (*girc.Client, error) { Port: port, Nick: b.GetString("Nick"), User: user, - Name: b.GetString("Nick"), + Name: realName, SSL: b.GetBool("UseTLS"), TLSConfig: &tls.Config{InsecureSkipVerify: b.GetBool("SkipTLSVerify"), ServerName: server}, //nolint:gosec PingDelay: pingDelay, |