forked from lug/matterbridge
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
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
 | 
						|
	}
 | 
						|
	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
 | 
						|
	}
 | 
						|
	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
 | 
						|
}
 |