diff --git a/csgo/demo_loader.go b/csgo/demo_loader.go index 4891c48..cbdafd6 100644 --- a/csgo/demo_loader.go +++ b/csgo/demo_loader.go @@ -1,7 +1,6 @@ package csgo import ( - "bufio" "encoding/json" "fmt" "github.com/an0nfunc/go-steam/v3" @@ -128,11 +127,12 @@ func (d *DemoMatchLoader) connectToSteam() error { return nil } -func (d *DemoMatchLoader) Setup(username string) error { +func (d *DemoMatchLoader) Setup(username string, authCode string) error { d.steamLogin = new(steam.LogOnDetails) d.steamLogin.Username = username d.steamLogin.Password = os.Getenv("STEAM_PASSWORD") d.steamLogin.ShouldRememberPassword = true + d.steamLogin.AuthCode = authCode if _, err := os.Stat(SENTRYFILE); err == nil { hash, err := ioutil.ReadFile(SENTRYFILE) @@ -208,10 +208,7 @@ func (d *DemoMatchLoader) steamEventHandler() { log.Warningf("[DL] Steam login denied: %+v", e) switch e.Result { case steamlang.EResult_AccountLogonDenied: - log.Warningf("[DL] Asking for auth code now, please provide on stdin.") - scanner := bufio.NewScanner(os.Stdin) - scanner.Scan() - d.steamLogin.AuthCode = scanner.Text() + log.Warningf("[DL] Please provide AuthCode with --authcode") } case *steam.DisconnectedEvent: log.Warningf("Steam disconnected, trying to reconnect...") diff --git a/main.go b/main.go index 9bf3c77..8b0ce05 100644 --- a/main.go +++ b/main.go @@ -28,15 +28,16 @@ import ( ) var ( - conf = utils.Conf{} - demoLoader = &csgo.DemoMatchLoader{} - router *mux.Router - db *utils.DBWithLock - sendGC chan *csgo.Demo - demoParser = &csgo.DemoParser{} - firstHK = true - rL ratelimit.Limiter - configFlag = flag.String("config", "config.yaml", "Set config to use") + conf = utils.Conf{} + demoLoader = &csgo.DemoMatchLoader{} + router *mux.Router + db *utils.DBWithLock + sendGC chan *csgo.Demo + demoParser = &csgo.DemoParser{} + firstHK = true + rL ratelimit.Limiter + configFlag = flag.String("config", "config.yaml", "Set config to use") + authCodeFlag = flag.String("authcode", "", "Provide Steam AuthCode to login") ) type PlayerResponse struct { @@ -389,7 +390,7 @@ func main() { rL = ratelimit.New(conf.Steam.RatePerSecond) // setup GC - err = demoLoader.Setup(conf.Steam.Username) + err = demoLoader.Setup(conf.Steam.Username, *authCodeFlag) if err != nil { log.Fatalf("Unbale to setup DemoLoader: %v", err) }