func doLogin(s *discordgo.Session) error { var err error var token string c := config.Get() log.Debug("Logging in") token, err = s.Login(c.Email, c.Password) if err == nil { if token != "" { s.Token = token } } else { log.Errorf("Can't log in: %s", err) log.Error("Maybe your credentials are invalid?") } // since we're dealing with a ref, only return the error return err }
func main() { var err error // Check for Username and Password CLI arguments. if len(os.Args) != 3 { fmt.Println("You must provide username and password as arguments. See below example.") fmt.Println(os.Args[0], " [username] [password]") return } // Create a new Discord Session interface and set a handler for the // OnMessageCreate event that happens for every new message on any channel dg := discordgo.Session{ OnMessageCreate: messageCreate, } // Login to the Discord server and store the authentication token dg.Token, err = dg.Login(os.Args[1], os.Args[2]) if err != nil { fmt.Println(err) return } // Open websocket connection err = dg.Open() if err != nil { fmt.Println(err) } // Do websocket handshake. err = dg.Handshake() if err != nil { fmt.Println(err) } // Listen for events. go dg.Listen() // Simple way to keep program running until any key press. var input string fmt.Scanln(&input) return }