public static void HandleNicknameChoiceRequestMessage(NicknameChoiceRequestMessage message, AuthClient client) { if (client.Account == null) { return; } if (client.Account.Username == message.nickname) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.SAME_AS_LOGIN)); return; } if (message.nickname == string.Empty || message.nickname.Length >= 15 || message.nickname.Contains('\'')) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.INVALID_NICK)); return; } if (AccountRecord.NicknameExist(message.nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.ALREADY_USED)); return; } client.Account.Nickname = message.nickname; AccountRecord.UpdateAccount(client.Account); client.Send(new NicknameAcceptedMessage()); Login(client, false); }
private void NicknameRegistrationMessageHandler(DofusClient client, NicknameRegistrationMessage message) { client.Logger.Log("Vous devez choisir un pseudo pour pouvoir vous connecter.", LogMessageType.Public); var random = new Random(); var nickname = random.RandomString(10); var nicknameMessage = new NicknameChoiceRequestMessage(nickname); client.Send(nicknameMessage); client.Account.Nickname = nickname; }
public static void HandleNicknameChoiceRequest(BigEndianReader reader, AuthClient client, AuthServer server) { NicknameChoiceRequestMessage message = new NicknameChoiceRequestMessage(); message.Unpack(reader); List <Account> accounts = AccountManager.GetAccounts(); //TEST IF NICK == USERNAME if (message.nickname == client.account.Username) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.SAME_AS_LOGIN)); return; } if (message.nickname.ToLower() == client.account.Username.ToLower() || message.nickname.ToLower().Contains(client.account.Username.ToLower())) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.TOO_SIMILAR_TO_LOGIN)); return; } //TEST IF NAME ALREADY TAKEN foreach (Account a in accounts) { if (a.Pseudo == message.nickname) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.ALREADY_USED)); return; } } //TEST IF NAME IS ALLOWED foreach (string s in invalidNickname) { if (message.nickname.Contains(s.ToLower()) || message.nickname.Contains(s.ToUpper())) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.INVALID_NICK)); return; } } //VALID USERNAME if (!AccountManager.SetAccountNickname(client.account.Id, message.nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.UNKNOWN_NICK_ERROR)); return; } client.Send(new NicknameAcceptedMessage()); SendAccServer(client, server); Out.Info($"Welcome to a new player ! Be kind to {message.nickname} =D", ConsoleColor.Cyan); }
public static void HandleNicknameChoiceRequestMessage(AuthClient client, NicknameChoiceRequestMessage message) { var nickname = message.nickname; if (client.Account.Nickname != string.Empty) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.UNKNOWN_NICK_ERROR)); return; } /* Check the Username */ if (!CheckNickName(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.INVALID_NICK)); return; } /* Same as Login */ if (nickname == client.Account.Login) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.SAME_AS_LOGIN)); return; } /* Look like Login */ if (client.Account.Login.Contains(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.TOO_SIMILAR_TO_LOGIN)); return; } /* Already Used */ if (AccountManager.Instance.NicknameExists(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.ALREADY_USED)); return; } /* Ok, it's good */ client.Account.Nickname = nickname; client.Save(); client.Send(new NicknameAcceptedMessage()); SendIdentificationSuccessMessage(client, false); SendServersListMessage(client, 0, true); }
public static void HandleNicknameChoice(NicknameChoiceRequestMessage message, AuthClient client) { if (client.Account.Username == message.nickname) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.SAME_AS_LOGIN)); return; } if (message.nickname == string.Empty || message.nickname.Length >= 15 || message.nickname.Contains('\'')) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.INVALID_NICK)); return; } if (AccountsProvider.CheckAndApplyNickname(client, message.nickname)) { client.Send(new NicknameAcceptedMessage()); Login(client, false); } else { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.ALREADY_USED)); } }
public static void HandleNicknameChoiceRequestMessage(AuthClient client, NicknameChoiceRequestMessage message) { string nickname = message.nickname; if (!ConnectionHandler.CheckNickName(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.INVALID_NICK)); } else { if (nickname == client.Account.Login) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.SAME_AS_LOGIN)); } else { if (client.Account.Login.Contains(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.TOO_SIMILAR_TO_LOGIN)); } else { if (Singleton <AccountManager> .Instance.NicknameExists(nickname)) { client.Send(new NicknameRefusedMessage((sbyte)NicknameErrorEnum.ALREADY_USED)); } else { client.Account.Nickname = nickname; client.Save(); client.Send(new NicknameAcceptedMessage()); ConnectionHandler.SendIdentificationSuccessMessage(client, false); ConnectionHandler.SendServersListMessage(client); } } } } }