diff --git a/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/JoinCommandHandler.java b/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/JoinCommandHandler.java index 0d8e711..6c131ca 100644 --- a/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/JoinCommandHandler.java +++ b/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/JoinCommandHandler.java @@ -34,7 +34,7 @@ public class JoinCommandHandler implements SessionCommandHandler { sendMessage(user.getSession(), globalCtx, destination, "PRIVMSG " + channelCtx.getName() + " " - + user.getNick() + " has " + + userCtx.getNick() + " has " + " joined the channel"); } catch (RuntimeException e) { lg.error("Error while sending a message", e); diff --git a/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/PrivMessageHandler.java b/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/PrivMessageHandler.java index 23b9ee6..9ac83d9 100644 --- a/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/PrivMessageHandler.java +++ b/src/main/java/pl/polgrabiat/websockets/chat/websocketschat/handlers/PrivMessageHandler.java @@ -13,27 +13,27 @@ public class PrivMessageHandler implements SessionCommandHandler { public boolean handleCommand(GlobalCtx globalCtx, WebSocketSession session, String payload, String command, String data) throws IOException { StringTokenizer tokenizer = new StringTokenizer(data); String destination = tokenizer.nextToken(); + UserCtx userCtx = globalCtx.getUserSessions().get(session); + if (destination.startsWith("#")) { // channel ChannelCtx channel = globalCtx.getChannels().get(destination); if (channel == null) { sendMessage(session, - globalCtx, destination,"MSG invalid destination"); + globalCtx, userCtx.getNick(),"MSG invalid destination"); return true; } - UserCtx userCtx = globalCtx.getUserSessions().get(session); - if (!channel.getUsers().contains(userCtx)) { - sendMessage(session, globalCtx, destination, "MSG You are not the member of this channel"); + sendMessage(session, globalCtx, userCtx.getNick(), "MSG You are not the member of this channel"); return true; } // sending to other users for (UserCtx user : channel.getUsers()) { - sendMessage(user.getSession(), globalCtx, destination, payload); + sendMessage(user.getSession(), globalCtx, userCtx.getNick(), payload); } return true; @@ -42,15 +42,15 @@ public class PrivMessageHandler implements SessionCommandHandler { // user - UserCtx userCtx = globalCtx.getUserSessions().get(globalCtx.getUserNameSessions().get(destination)); + UserCtx destUserCtx = globalCtx.getUserSessions().get(globalCtx.getUserNameSessions().get(destination)); UserCtx sourceUserCtx = globalCtx.getUserSessions().get(session); - if (userCtx == null) { + if (destUserCtx == null) { sendMessage(session, globalCtx, destination,"MSG invalid destination"); return true; } - sendMessage(userCtx.getSession(), + sendMessage(destUserCtx.getSession(), globalCtx, sourceUserCtx.getNick(), payload); // destination and source sendMessage(session, globalCtx, sourceUserCtx.getNick(), payload); // destination and source