Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322

This commit is contained in:
Wim 2017-12-23 00:11:30 +01:00
parent d0c4fe78ee
commit 97c944bb63
3 changed files with 6 additions and 0 deletions

View File

@ -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

View File

@ -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
}

View File

@ -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