1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.opennap.net.msg.server;
21
22 import org.xnap.plugin.opennap.OpenNapPlugin;
23 import org.xnap.plugin.opennap.net.PrivateOpenNapChannel;
24 import org.xnap.plugin.opennap.net.msg.MessageHandler;
25 import org.xnap.plugin.opennap.user.OpenNapUser;
26 import org.xnap.util.Preferences;
27 import org.xnap.util.QuotedStringTokenizer;
28
29 public class PrivateMessage extends ServerMessage {
30
31
32
33 public static final int TYPE = 205;
34
35
36
37 public String nick;
38 public String message;
39
40
41
42 public PrivateMessage(String data) throws InvalidMessageException
43 {
44 super(TYPE, data, 2);
45 }
46
47
48
49 protected void parse(QuotedStringTokenizer t)
50 {
51 nick = t.nextToken();
52 message = t.allNextTokens();
53 }
54
55 public void received()
56 {
57 Preferences prefs = Preferences.getInstance();
58
59 if (!message.trim().equals("//WantQueue")) {
60 OpenNapUser user = server.getUser(nick);
61 if (user.getParent().isChatIgnored()) {
62 if (prefs.getSendChatIgnoreMessage()) {
63 org.xnap.plugin.opennap.net.msg.client.PrivateMessage msg
64 = new org.xnap.plugin.opennap.net.msg.client
65 .PrivateMessage(nick, prefs.getChatIgnoreMessage());
66 MessageHandler.send(server, msg);
67 }
68 }
69 else {
70 PrivateOpenNapChannel pc
71 = OpenNapPlugin.getMessageHandler().getPrivateChannel(user);
72 pc.messageReceived(message);
73 }
74 }
75 }
76 }