Esempio n. 1
0
        private void ButtonLogin_Click(object sender, EventArgs e)
        {
            username = textBoxName.Text;
            password = textBoxPassword.Text;
            server   = textBoxServer.Text;
            var trainTroopType    = comboBoxTroop.SelectedIndex;
            var farmlistTroopType = comboBoxTroop.SelectedIndex;

            if (username == string.Empty)
            {
                Bot.Log("Enter a valid username.", Color.Black);
            }
            else if (password == string.Empty)
            {
                Bot.Log("Enter a valid password.", Color.Black);
            }
            else if (Uri.CheckHostName(server) != UriHostNameType.Dns)
            {
                Bot.Log("Enter a valid server URL.", Color.Black);
            }
            else
            {
                travian          = new Travian(username, password, server, trainTroopType, farmlistTroopType);
                travian.mainForm = this;
                Bot.Log("Loading page...", Color.Black);
                int loginAttempts = 1;

                threadLogin?.Abort();

                threadLogin = new Thread(() =>
                {
                    while (!_login)
                    {
                        travian.GetToken();
                        var token = Info.LoginId;
                        if (token.Length != 10)
                        {
                            Bot.Log("Token error, retrying in 2 seconds... Attempts: " + loginAttempts, Color.Black);
                            Thread.Sleep(2000);
                            loginAttempts++;
                            continue;
                        }
                        else
                        {
                            Bot.Log("Logging in...", Color.Black);
                            _login = travian.Login(token);
                        }
                    }

                    Bot.Log("Logged in!", Color.Black);
                });
                threadLogin.Start();
                SaveUserSettings();
            }
        }