package config import ( "os" "github.com/BurntSushi/toml" ) type Config struct { Username string Password string ProxyAddr string Channels []string Filter []uint8 Webhook string DbPath string CookiePath string UseWebServer bool HostURL string WebPort uint16 UserAgents []string NitterBase string } func ConfigFromFile(filePath string) (*Config, error) { conf := &Config{ // Default values DbPath: "./data/tweets.db", CookiePath: "./data/cookies.json", UseWebServer: true, WebPort: 8080, UserAgents: []string{"discordbot", "curl", "httpie", "lwp-request", "wget", "python-requests", "openbsd ftp", "powershell"}, NitterBase: "https://xcancel.com", } tomlData, err := os.ReadFile(filePath) if err != nil { return nil, err } _, err = toml.Decode(string(tomlData), conf) return conf, err }