diff options
author | Wim <wim@42.be> | 2016-08-15 23:15:22 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2016-08-20 18:08:57 +0200 |
commit | 9cb3413d9c79730fc3b61bfdef6b2c9a2003a383 (patch) | |
tree | acf61c7e0ba2908e8956dfba4392d19a75727b93 /bridge | |
parent | 131826e1d138a98066813faa284da377bb99ecbe (diff) | |
download | matterbridge-msglm-9cb3413d9c79730fc3b61bfdef6b2c9a2003a383.tar.gz matterbridge-msglm-9cb3413d9c79730fc3b61bfdef6b2c9a2003a383.tar.bz2 matterbridge-msglm-9cb3413d9c79730fc3b61bfdef6b2c9a2003a383.zip |
Add Enable per section (protocol) instead of in general section
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/bridge.go | 28 | ||||
-rw-r--r-- | bridge/config/config.go | 3 |
2 files changed, 10 insertions, 21 deletions
diff --git a/bridge/bridge.go b/bridge/bridge.go index 8fe233d6..a849ba67 100644 --- a/bridge/bridge.go +++ b/bridge/bridge.go @@ -14,47 +14,33 @@ type Bridge struct { *config.Config Source string Bridges []Bridger - kind string Channels []map[string]string ignoreNicks map[string][]string } -type FancyLog struct { - irc *log.Entry - mm *log.Entry - xmpp *log.Entry -} - type Bridger interface { Send(msg config.Message) error Name() string + Connect() error //Command(cmd string) string } -var flog FancyLog - -const Legacy = "legacy" - -func initFLog() { - flog.irc = log.WithFields(log.Fields{"module": "irc"}) - flog.mm = log.WithFields(log.Fields{"module": "mattermost"}) - flog.xmpp = log.WithFields(log.Fields{"module": "xmpp"}) -} - func NewBridge(cfg *config.Config) error { c := make(chan config.Message) - initFLog() b := &Bridge{} b.Config = cfg - if cfg.General.Irc { + if cfg.IRC.Enable { b.Bridges = append(b.Bridges, birc.New(cfg, c)) } - if cfg.General.Mattermost { + if cfg.Mattermost.Enable { b.Bridges = append(b.Bridges, bmattermost.New(cfg, c)) } - if cfg.General.Xmpp { + if cfg.Xmpp.Enable { b.Bridges = append(b.Bridges, bxmpp.New(cfg, c)) } + if len(b.Bridges) < 2 { + log.Fatalf("only %d sections enabled. Need at least 2 sections enabled (eg [IRC] and [mattermost]", len(b.Bridges)) + } b.mapChannels() b.mapIgnores() b.handleReceive(c) diff --git a/bridge/config/config.go b/bridge/config/config.go index 131ff95e..03836b63 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -26,6 +26,7 @@ type Config struct { NickServPassword string RemoteNickFormat string IgnoreNicks string + Enable bool } Mattermost struct { URL string @@ -44,6 +45,7 @@ type Config struct { RemoteNickFormat string IgnoreNicks string NoTLS bool + Enable bool } Xmpp struct { Jid string @@ -52,6 +54,7 @@ type Config struct { Muc string Nick string RemoteNickFormat string + Enable bool } Channel map[string]*struct { IRC string |