summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim <wim@42.be>2017-12-23 00:11:30 +0100
committerWim <wim@42.be>2017-12-23 00:11:30 +0100
commit97c944bb632fee44a56fe7864dca22c905845f4d (patch)
tree7b7dd370359714537cdbcc59e158d5365d0e6ffa
parentd0c4fe78eedc883049b684899cee87985ee36680 (diff)
downloadmatterbridge-msglm-97c944bb632fee44a56fe7864dca22c905845f4d.tar.gz
matterbridge-msglm-97c944bb632fee44a56fe7864dca22c905845f4d.tar.bz2
matterbridge-msglm-97c944bb632fee44a56fe7864dca22c905845f4d.zip
Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322
-rw-r--r--bridge/config/config.go1
-rw-r--r--bridge/irc/irc.go1
-rw-r--r--matterbridge.toml.sample4
3 files changed, 6 insertions, 0 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go
index 69531440..13b7a8d0 100644
--- a/bridge/config/config.go
+++ b/bridge/config/config.go
@@ -81,6 +81,7 @@ type Protocol struct {
Password string // IRC,mattermost,XMPP,matrix
PrefixMessagesWithNick bool // mattemost, slack
Protocol string // all protocols
+ RejoinDelay int // IRC
ReplaceMessages [][]string // all protocols
ReplaceNicks [][]string // all protocols
RemoteNickFormat string // all protocols
diff --git a/bridge/irc/irc.go b/bridge/irc/irc.go
index c9c8cbb2..b7465977 100644
--- a/bridge/irc/irc.go
+++ b/bridge/irc/irc.go
@@ -267,6 +267,7 @@ func (b *Birc) handleJoinPart(client *girc.Client, event girc.Event) {
channel := event.Params[0]
if event.Command == "KICK" {
flog.Infof("Got kicked from %s by %s", channel, event.Source.Name)
+ time.Sleep(time.Duration(b.Config.RejoinDelay) * time.Second)
b.Remote <- config.Message{Username: "system", Text: "rejoin", Channel: channel, Account: b.Account, Event: config.EVENT_REJOIN_CHANNELS}
return
}
diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample
index c261deca..f3263d59 100644
--- a/matterbridge.toml.sample
+++ b/matterbridge.toml.sample
@@ -85,6 +85,10 @@ MessageLength=400
#OPTIONAL (default false)
MessageSplit=false
+#Delay in seconds to rejoin a channel when kicked
+#OPTIONAL (default 0)
+RejoinDelay=0
+
#Nicks you want to ignore.
#Messages from those users will not be sent to other bridges.
#OPTIONAL