static void client_LoginFailed(object sender, BNSharp.Chat.LoginFailedEventArgs e) { PrintTidTs(DateTime.Now); console.OutputForegroundColor = ConsoleColor.Red; console.Write("Login failed ({0}) for ", e.Reason); console.OutputForegroundColor = ConsoleColor.Yellow; console.WriteLine(_settings.Username); if (e.Reason == LoginFailureReason.AccountDoesNotExist) { console.OutputForegroundColor = ConsoleColor.Blue; console.WriteLine("Attempting to create a new account using the provided credentials..."); (sender as BattleNetClient).CreateAccount(_settings.Username, _settings.Password); } else { LoginWithNewCredentials(sender); } }
private async void HandleLogonResponse2(BncsReader dr) { int success = dr.ReadInt32(); if (success == 0) { OnLoginSucceeded(); ClassicProduct product = _settings.Client; if (product.UsesUdpPing) { BncsPacket pck = new BncsPacket(BncsPacketId.UdpPingResponse, _storage.Acquire()); pck.InsertDwordString("bnet"); await pck.SendAsync(_connection); } EnterChat(); } else { LoginFailureReason reason = LoginFailureReason.Unknown; switch (success) { case 1: // account DNE reason = LoginFailureReason.AccountDoesNotExist; break; case 2: // invalid password reason = LoginFailureReason.InvalidAccountOrPassword; break; case 6: // account closed reason = LoginFailureReason.AccountClosed; break; } LoginFailedEventArgs args = new LoginFailedEventArgs(reason, success, dr.ReadCString()); OnLoginFailed(args); } }
private async void HandleLogonResponse(BncsReader dr) { int status = dr.ReadInt32(); if (status == 1) { OnLoginSucceeded(); ClassicProduct product = _settings.Client; if (product.UsesUdpPing) { BncsPacket pck = new BncsPacket(BncsPacketId.UdpPingResponse, _storage.Acquire()); pck.InsertDwordString("bnet"); await pck.SendAsync(_connection); } EnterChat(); } else { LoginFailedEventArgs args = new LoginFailedEventArgs(LoginFailureReason.InvalidAccountOrPassword, status); OnLoginFailed(args); } }