From 6b47e295836254b8de8da384db5263fc3ef14362 Mon Sep 17 00:00:00 2001 From: chotaire Date: Thu, 18 Apr 2019 23:56:05 +0200 Subject: [PATCH] Add verbose IRC joins/parts (ident@host) (#805) New configuration setting: VerboseJoinPart (default is false) --- bridge/config/config.go | 3 ++- bridge/irc/handlers.go | 7 ++++++- matterbridge.toml.sample | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bridge/config/config.go b/bridge/config/config.go index 29261d58..1af6f407 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -120,7 +120,7 @@ type Protocol struct { ReplaceMessages [][]string // all protocols ReplaceNicks [][]string // all protocols RemoteNickFormat string // all protocols - RunCommands []string // irc + RunCommands []string // IRC Server string // IRC,mattermost,XMPP,discord ShowJoinPart bool // all protocols ShowTopicChange bool // slack @@ -141,6 +141,7 @@ type Protocol struct { UseFirstName bool // telegram UseUserName bool // discord UseInsecureURL bool // telegram + VerboseJoinPart bool // IRC WebhookBindAddress string // mattermost, slack WebhookURL string // mattermost, slack } diff --git a/bridge/irc/handlers.go b/bridge/irc/handlers.go index 1d260071..f0e54928 100644 --- a/bridge/irc/handlers.go +++ b/bridge/irc/handlers.go @@ -91,8 +91,13 @@ func (b *Birc) handleJoinPart(client *girc.Client, event girc.Event) { if b.GetBool("nosendjoinpart") { return } - b.Log.Debugf("<= Sending JOIN_LEAVE event from %s to gateway", b.Account) msg := config.Message{Username: "system", Text: event.Source.Name + " " + strings.ToLower(event.Command) + "s", Channel: channel, Account: b.Account, Event: config.EventJoinLeave} + if b.GetBool("verbosejoinpart") { + b.Log.Debugf("<= Sending verbose JOIN_LEAVE event from %s to gateway", b.Account) + msg = config.Message{Username: "system", Text: event.Source.Name + " (" + event.Source.Ident + "@" + event.Source.Host + ") " + strings.ToLower(event.Command) + "s", Channel: channel, Account: b.Account, Event: config.EventJoinLeave} + } else { + b.Log.Debugf("<= Sending JOIN_LEAVE event from %s to gateway", b.Account) + } b.Log.Debugf("<= Message is %#v", msg) b.Remote <- msg return diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample index 6531acef..51cf3e0e 100644 --- a/matterbridge.toml.sample +++ b/matterbridge.toml.sample @@ -157,6 +157,11 @@ RemoteNickFormat="[{PROTOCOL}] <{NICK}> " #OPTIONAL (default false) ShowJoinPart=false +#Enable to show verbose users joins/parts (ident@host) from other bridges +#Currently works for messages from the following bridges: irc +#OPTIONAL (default false) +VerboseJoinPart=false + #Do not send joins/parts to other bridges #Currently works for messages from the following bridges: irc, mattermost, slack #OPTIONAL (default false)