commit 00c0d46
Hubert Hirtz
·
2020-08-04 13:22:27 +0000 UTC
parent e5c8c6e
Accept a -config command-line argument And don't authenticate when no password is provided
1 files changed,
+18,
-6
+18,
-6
1@@ -2,6 +2,7 @@ package main
2
3 import (
4 "crypto/tls"
5+ "flag"
6 "fmt"
7 "log"
8 "math/rand"
9@@ -22,12 +23,19 @@ func init() {
10 func main() {
11 tcell.SetEncodingFallback(tcell.EncodingFallbackASCII)
12
13- configDir, err := os.UserConfigDir()
14- if err != nil {
15- log.Panicln(err)
16+ var configPath string
17+ flag.StringVar(&configPath, "config", "", "path to the configuration file")
18+ flag.Parse()
19+
20+ if configPath == "" {
21+ configDir, err := os.UserConfigDir()
22+ if err != nil {
23+ log.Panicln(err)
24+ }
25+ configPath = configDir + "/senpai/senpai.yaml"
26 }
27
28- cfg, err := senpai.LoadConfigFile(configDir + "/senpai/senpai.yaml")
29+ cfg, err := senpai.LoadConfigFile(configPath)
30 if err != nil {
31 log.Panicln(err)
32 }
33@@ -46,11 +54,15 @@ func main() {
34 log.Panicln(err)
35 }
36
37+ var auth irc.SASLClient
38+ if cfg.Password != "" {
39+ auth = &irc.SASLPlain{Username: cfg.User, Password: cfg.Password}
40+ }
41 s, err := irc.NewSession(conn, irc.SessionParams{
42 Nickname: cfg.Nick,
43- Username: cfg.Nick,
44+ Username: cfg.User,
45 RealName: cfg.Real,
46- Auth: &irc.SASLPlain{Username: cfg.User, Password: cfg.Password},
47+ Auth: auth,
48 })
49 if err != nil {
50 log.Panicln(err)