4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-06-27 06:29:24 +00:00

Refactor bridge. Allows bridging between every protocol

This commit is contained in:
Wim
2016-08-14 21:48:51 +02:00
parent 1f72ca4c4e
commit ff94796700
13 changed files with 699 additions and 483 deletions

81
bridge/config/config.go Normal file
View File

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