summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cmd/irc/main.go24
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)