|
@@ -37,11 +37,13 @@ import com.dmdirc.parser.interfaces.callbacks.PrivateCtcpListener;
|
37
|
37
|
import com.dmdirc.parser.interfaces.callbacks.PrivateCtcpReplyListener;
|
38
|
38
|
import com.dmdirc.parser.interfaces.callbacks.PrivateMessageListener;
|
39
|
39
|
import com.dmdirc.parser.interfaces.callbacks.PrivateNoticeListener;
|
|
40
|
+import com.dmdirc.parser.interfaces.callbacks.ServerNoticeListener;
|
40
|
41
|
import com.dmdirc.parser.interfaces.callbacks.UnknownActionListener;
|
41
|
42
|
import com.dmdirc.parser.interfaces.callbacks.UnknownCtcpListener;
|
42
|
43
|
import com.dmdirc.parser.interfaces.callbacks.UnknownCtcpReplyListener;
|
43
|
44
|
import com.dmdirc.parser.interfaces.callbacks.UnknownMessageListener;
|
44
|
45
|
import com.dmdirc.parser.interfaces.callbacks.UnknownNoticeListener;
|
|
46
|
+import com.dmdirc.parser.interfaces.callbacks.UnknownServerNoticeListener;
|
45
|
47
|
|
46
|
48
|
import java.util.regex.PatternSyntaxException;
|
47
|
49
|
|
|
@@ -207,7 +209,11 @@ public class ProcessMessage extends IRCProcessor {
|
207
|
209
|
if (isCTCP) {
|
208
|
210
|
callPrivateCTCPReply(sCTCP, sMessage, token[0]);
|
209
|
211
|
} else {
|
210
|
|
- callPrivateNotice(sMessage, token[0]);
|
|
212
|
+ if (token[0].indexOf("@") == -1) {
|
|
213
|
+ callServerNotice(sMessage, token[0]);
|
|
214
|
+ } else {
|
|
215
|
+ callPrivateNotice(sMessage, token[0]);
|
|
216
|
+ }
|
211
|
217
|
}
|
212
|
218
|
}
|
213
|
219
|
} else {
|
|
@@ -226,7 +232,11 @@ public class ProcessMessage extends IRCProcessor {
|
226
|
232
|
if (isCTCP) {
|
227
|
233
|
callUnknownCTCPReply(sCTCP, sMessage, token[2], token[0]);
|
228
|
234
|
} else {
|
229
|
|
- callUnknownNotice(sMessage, token[2], token[0]);
|
|
235
|
+ if (token[0].indexOf("@") == -1) {
|
|
236
|
+ callUnknownServerNotice(sMessage, token[2], token[0]);
|
|
237
|
+ } else {
|
|
238
|
+ callUnknownNotice(sMessage, token[2], token[0]);
|
|
239
|
+ }
|
230
|
240
|
}
|
231
|
241
|
}
|
232
|
242
|
}
|
|
@@ -395,6 +405,18 @@ public class ProcessMessage extends IRCProcessor {
|
395
|
405
|
protected boolean callPrivateNotice(final String sMessage, final String sHost) {
|
396
|
406
|
return getCallbackManager().getCallbackType(PrivateNoticeListener.class).call(sMessage, sHost);
|
397
|
407
|
}
|
|
408
|
+
|
|
409
|
+ /**
|
|
410
|
+ * Callback to all objects implementing the ServerNotice Callback.
|
|
411
|
+ *
|
|
412
|
+ * @see com.dmdirc.parser.irc.callbacks.interfaces.ServerNotice
|
|
413
|
+ * @param sMessage Notice contents
|
|
414
|
+ * @param sHost Hostname of sender (or servername)
|
|
415
|
+ * @return true if a method was called, false otherwise
|
|
416
|
+ */
|
|
417
|
+ protected boolean callServerNotice(final String sMessage, final String sHost) {
|
|
418
|
+ return getCallbackManager().getCallbackType(ServerNoticeListener.class).call(sMessage, sHost);
|
|
419
|
+ }
|
398
|
420
|
|
399
|
421
|
/**
|
400
|
422
|
* Callback to all objects implementing the UnknownAction Callback.
|
|
@@ -463,6 +485,19 @@ public class ProcessMessage extends IRCProcessor {
|
463
|
485
|
return getCallbackManager().getCallbackType(UnknownNoticeListener.class).call(sMessage, sTarget, sHost);
|
464
|
486
|
}
|
465
|
487
|
|
|
488
|
+ /**
|
|
489
|
+ * Callback to all objects implementing the UnknownNotice Callback.
|
|
490
|
+ *
|
|
491
|
+ * @see com.dmdirc.parser.irc.callbacks.interfaces.IUnknownNotice
|
|
492
|
+ * @param sMessage Notice contents
|
|
493
|
+ * @param sTarget Actual target of notice
|
|
494
|
+ * @param sHost Hostname of sender (or servername)
|
|
495
|
+ * @return true if a method was called, false otherwise
|
|
496
|
+ */
|
|
497
|
+ protected boolean callUnknownServerNotice(final String sMessage, final String sTarget, final String sHost) {
|
|
498
|
+ return getCallbackManager().getCallbackType(UnknownServerNoticeListener.class).call(sMessage, sTarget, sHost);
|
|
499
|
+ }
|
|
500
|
+
|
466
|
501
|
|
467
|
502
|
/**
|
468
|
503
|
* What does this IRCProcessor handle.
|