public void handle(Session client, MessageEvent msg) { String username = msg.readString(); if (username.equals(client.getPlayer().getData().getUsername())) return; Session request = NetworkManager.getInstance().getSessions().getByPlayerUsername(username); if (request == null || request.getPlayer() == null || request.getPlayer().getMessenger() == null) return; if (!request.getPlayer().getSettings().getAllowFriendRequests()) { client.send( new AdvancedAlertMessageComposer(Locale.get("game.messenger.friendrequests.disabled"))); return; } if (request.getPlayer().getMessenger().hasRequestFrom(client.getPlayer().getId())) return; request.getPlayer().getMessenger().addRequest(client.getPlayer().getId()); request.send(new FriendRequestMessageComposer(client.getPlayer().getData())); int userId = PlayerDao.getIdByUsername(username); if (userId == 0) return; client.getPlayer().getQuests().progressQuest(QuestType.SOCIAL_FRIEND); MessengerDao.createRequest(client.getPlayer().getId(), userId); }
public void handle(Session client, MessageEvent msg) { String text = msg.readString(); String user = text.split(" ")[0]; String message = text.replace(user + " ", ""); if (client.getPlayer().getEntity() == null || client.getPlayer().getEntity().getRoom() == null) { return; } if (!client.getPlayer().getEntity().isVisible()) { return; } final Room room = client.getPlayer().getEntity().getRoom(); RoomEntity userTo = room.getEntities().getEntityByName(user, RoomEntityType.PLAYER); if (userTo == null || user.equals(client.getPlayer().getData().getUsername())) return; String filteredMessage = TalkMessageEvent.filterMessage(message); if (!client.getPlayer().getPermissions().getRank().roomFilterBypass()) { FilterResult filterResult = RoomManager.getInstance().getFilter().filter(message); if (filterResult.isBlocked()) { client.send( new AdvancedAlertMessageComposer( Locale.get("game.message.blocked").replace("%s", filterResult.getMessage()))); return; } else if (filterResult.wasModified()) { filteredMessage = filterResult.getMessage(); } } if (!client.getPlayer().getEntity().onChat(filteredMessage)) return; try { if (LogManager.ENABLED) LogManager.getInstance() .getStore() .getLogEntryContainer() .put( new RoomChatLogEntry( room.getId(), client.getPlayer().getId(), Locale.getOrDefault("game.logging.whisper", "<Whisper to %username%>") .replace("%username%", user) + " " + message)); } catch (Exception ignored) { } client.send( new WhisperMessageComposer(client.getPlayer().getEntity().getId(), filteredMessage)); if (!((PlayerEntity) userTo).getPlayer().ignores(client.getPlayer().getId())) ((PlayerEntity) userTo) .getPlayer() .getSession() .send( new WhisperMessageComposer(client.getPlayer().getEntity().getId(), filteredMessage)); for (PlayerEntity entity : client.getPlayer().getEntity().getRoom().getEntities().getWhisperSeers()) { if (entity.getPlayer().getId() != client.getPlayer().getId() && !user.equals(entity.getUsername())) entity .getPlayer() .getSession() .send( new WhisperMessageComposer( client.getPlayer().getEntity().getId(), "Whisper to " + user + ": " + filteredMessage)); } }