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)