discord-tweeter/pkg/config/config.go

45 lines
917 B
Go

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