summaryrefslogtreecommitdiffstats
path: root/bridge/config.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2016-07-11 21:23:33 +0200
committerWim <wim@42.be>2016-07-11 21:23:33 +0200
commitaceb8303785fa43b60fff5d3bb497cb73b748f6b (patch)
tree2ddeb385ff9ddd15202a3ec50ce13eb549337de7 /bridge/config.go
parent0f2976c5ce176a529c862907add54874ffd70252 (diff)
downloadmatterbridge-msglm-aceb8303785fa43b60fff5d3bb497cb73b748f6b.tar.gz
matterbridge-msglm-aceb8303785fa43b60fff5d3bb497cb73b748f6b.tar.bz2
matterbridge-msglm-aceb8303785fa43b60fff5d3bb497cb73b748f6b.zip
Converge with matterbridge-plus
Diffstat (limited to 'bridge/config.go')
-rw-r--r--bridge/config.go68
1 files changed, 68 insertions, 0 deletions
diff --git a/bridge/config.go b/bridge/config.go
new file mode 100644
index 00000000..f31db98d
--- /dev/null
+++ b/bridge/config.go
@@ -0,0 +1,68 @@
+package bridge
+
+import (
+ "gopkg.in/gcfg.v1"
+ "io/ioutil"
+ "log"
+)
+
+type Config struct {
+ IRC struct {
+ UseTLS bool
+ SkipTLSVerify bool
+ Server string
+ Port int
+ Nick string
+ Password string
+ Channel string
+ UseSlackCircumfix bool
+ NickServNick string
+ NickServPassword string
+ RemoteNickFormat string
+ IgnoreNicks string
+ }
+ Mattermost struct {
+ URL string
+ Port int
+ ShowJoinPart bool
+ Token string
+ 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
+ }
+ Token map[string]*struct {
+ IRCChannel string
+ MMChannel string
+ }
+ Channel map[string]*struct {
+ IRC string
+ Mattermost string
+ }
+ General struct {
+ GiphyAPIKey string
+ }
+}
+
+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
+}