diff options
author | Hubert Hirtz <hubert@hirtzfr.eu> | 2020-08-04 15:22:27 +0200 |
---|---|---|
committer | Hubert Hirtz <hubert@hirtzfr.eu> | 2020-08-04 15:22:27 +0200 |
commit | 00c0d462920a527582a9dc4af2e1953ea46008ef (patch) | |
tree | 8d2b2f94f8235636f4ebc5191bb5c511e91fab7c /cmd | |
parent | Add a head for status lines (diff) |
Accept a -config command-line argument
And don't authenticate when no password is provided
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/irc/main.go | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/cmd/irc/main.go b/cmd/irc/main.go index 1e4a011..b2b0705 100644 --- a/cmd/irc/main.go +++ b/cmd/irc/main.go @@ -2,6 +2,7 @@ package main import ( "crypto/tls" + "flag" "fmt" "log" "math/rand" @@ -22,12 +23,19 @@ func init() { func main() { tcell.SetEncodingFallback(tcell.EncodingFallbackASCII) - configDir, err := os.UserConfigDir() - if err != nil { - log.Panicln(err) + var configPath string + flag.StringVar(&configPath, "config", "", "path to the configuration file") + flag.Parse() + + if configPath == "" { + configDir, err := os.UserConfigDir() + if err != nil { + log.Panicln(err) + } + configPath = configDir + "/senpai/senpai.yaml" } - cfg, err := senpai.LoadConfigFile(configDir + "/senpai/senpai.yaml") + cfg, err := senpai.LoadConfigFile(configPath) if err != nil { log.Panicln(err) } @@ -46,11 +54,15 @@ func main() { log.Panicln(err) } + var auth irc.SASLClient + if cfg.Password != "" { + auth = &irc.SASLPlain{Username: cfg.User, Password: cfg.Password} + } s, err := irc.NewSession(conn, irc.SessionParams{ Nickname: cfg.Nick, - Username: cfg.Nick, + Username: cfg.User, RealName: cfg.Real, - Auth: &irc.SASLPlain{Username: cfg.User, Password: cfg.Password}, + Auth: auth, }) if err != nil { log.Panicln(err) |