From 6c6b9be8087499b576ce32052f70266fffd62224 Mon Sep 17 00:00:00 2001 From: rsuen Date: Fri, 18 Jan 2008 21:12:59 +0000 Subject: Let KOS-MOS catch embedded messages. --- .../bot/kosmos/ChatRoomMessageHandler.java | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'applications') diff --git a/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos/src/org/eclipse/ecf/internal/presence/bot/kosmos/ChatRoomMessageHandler.java b/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos/src/org/eclipse/ecf/internal/presence/bot/kosmos/ChatRoomMessageHandler.java index 865aab6fd..a8ac82768 100644 --- a/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos/src/org/eclipse/ecf/internal/presence/bot/kosmos/ChatRoomMessageHandler.java +++ b/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos/src/org/eclipse/ecf/internal/presence/bot/kosmos/ChatRoomMessageHandler.java @@ -687,13 +687,42 @@ public class ChatRoomMessageHandler implements IChatRoomMessageHandler { } public void handleRoomMessage(IChatRoomMessage message) { + ID fromID = message.getFromID(); + if (fromID.getName().equals("KOS-MOS")) { + return; + } + String msg = message.getMessage(); switch (msg.charAt(0)) { case '~': case '!': - handleMessage(message.getFromID(), message.getChatRoomID(), msg + handleMessage(fromID, message.getChatRoomID(), msg .substring(1).trim()); break; + default: + String upperCase = msg.toUpperCase(); + if (upperCase.startsWith("KOS-MOS:") || upperCase.startsWith("KOS-MOS,")) { + msg = upperCase.substring(8).trim(); + switch (msg.charAt(0)) { + case '~': + case '!': + handleMessage(fromID, message.getChatRoomID(), msg + .substring(1).trim()); + break; + } + } else { + String[] split = msg.split("\\s"); //$NON-NLS-1$ + for (int i = 0; i < split.length; i++) { + switch (split[i].charAt(0)) { + case '~': + case '!': + handleMessage(fromID, message + .getChatRoomID(), split[i].substring(1).trim()); + break; + } + } + } + break; } } -- cgit v1.2.3