summaryrefslogtreecommitdiffstats
path: root/bridge
diff options
context:
space:
mode:
Diffstat (limited to 'bridge')
-rw-r--r--bridge/config/config.go2
-rw-r--r--bridge/irc/irc.go11
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,