diff options
author | Wim <wim@42.be> | 2016-08-14 21:48:51 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2016-08-14 22:44:59 +0200 |
commit | ff9479670070c0f1de4cf66622df7b69736dd22a (patch) | |
tree | c3003f19d8821900398b5b2803188555725030b6 /bridge/config/config.go | |
parent | 1f72ca4c4ecb5ab3ef831b8e70c74909f5720fb8 (diff) | |
download | matterbridge-msglm-ff9479670070c0f1de4cf66622df7b69736dd22a.tar.gz matterbridge-msglm-ff9479670070c0f1de4cf66622df7b69736dd22a.tar.bz2 matterbridge-msglm-ff9479670070c0f1de4cf66622df7b69736dd22a.zip |
Refactor bridge. Allows bridging between every protocol
Diffstat (limited to 'bridge/config/config.go')
-rw-r--r-- | bridge/config/config.go | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go new file mode 100644 index 00000000..131ff95e --- /dev/null +++ b/bridge/config/config.go @@ -0,0 +1,81 @@ +package config + +import ( + "gopkg.in/gcfg.v1" + "io/ioutil" + "log" +) + +type Message struct { + Text string + Channel string + Username string + Origin string +} + +type Config struct { + IRC struct { + UseTLS bool + UseSASL bool + SkipTLSVerify bool + Server string + Nick string + Password string + Channel string + NickServNick string + NickServPassword string + RemoteNickFormat string + IgnoreNicks string + } + Mattermost struct { + URL string + ShowJoinPart bool + IconURL string + SkipTLSVerify bool + BindAddress string + Channel string + PrefixMessagesWithNick bool + NicksPerRow int + NickFormatter string + Server string + Team string + Login string + Password string + RemoteNickFormat string + IgnoreNicks string + NoTLS bool + } + Xmpp struct { + Jid string + Password string + Server string + Muc string + Nick string + RemoteNickFormat string + } + Channel map[string]*struct { + IRC string + Mattermost string + Xmpp string + } + General struct { + GiphyAPIKey string + Xmpp bool + Irc bool + Mattermost bool + Plus bool + } +} + +func NewConfig(cfgfile string) *Config { + var cfg Config + content, err := ioutil.ReadFile(cfgfile) + if err != nil { + log.Fatal(err) + } + err = gcfg.ReadStringInto(&cfg, string(content)) + if err != nil { + log.Fatal("Failed to parse "+cfgfile+":", err) + } + return &cfg +} |