matterbridge/bridge/config/config.go

85 lines
1.7 KiB
Go
Raw Normal View History

package config
2016-07-11 21:23:33 +02:00
import (
"gopkg.in/gcfg.v1"
"io/ioutil"
"log"
)
type Message struct {
Text string
Channel string
Username string
Origin string
}
2016-07-11 21:23:33 +02:00
type Config struct {
IRC struct {
UseTLS bool
2016-07-21 23:47:44 +02:00
UseSASL bool
SkipTLSVerify bool
Server string
Nick string
Password string
Channel string
NickServNick string
NickServPassword string
RemoteNickFormat string
IgnoreNicks string
Enable bool
2016-07-11 21:23:33 +02:00
}
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
2016-07-11 21:23:33 +02:00
IgnoreNicks string
NoTLS bool
Enable bool
2016-07-11 21:23:33 +02:00
}
2016-07-14 00:23:50 +02:00
Xmpp struct {
Jid string
Password string
Server string
Muc string
Nick string
RemoteNickFormat string
Enable bool
2016-07-14 00:23:50 +02:00
}
2016-07-11 21:23:33 +02:00
Channel map[string]*struct {
IRC string
Mattermost string
2016-07-14 00:23:50 +02:00
Xmpp string
2016-07-11 21:23:33 +02:00
}
General struct {
GiphyAPIKey string
2016-07-14 00:23:50 +02:00
Xmpp bool
Irc bool
Mattermost bool
Plus bool
2016-07-11 21:23:33 +02:00
}
}
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
}