From eb3d025314ad88259590c11218adf0330197a831 Mon Sep 17 00:00:00 2001 From: rsuen Date: Wed, 29 Jul 2009 16:44:28 +0000 Subject: Generalize the self-skipping mechanism. --- .../presence/bot/kosmos/ChatRoomMessageHandler.java | 16 +++++++++++++++- 1 file changed, 15 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 b6fb1af8b..d4b0f5ea6 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 @@ -56,6 +56,7 @@ import org.eclipse.ecf.presence.bot.IChatRoomMessageHandler; import org.eclipse.ecf.presence.chatroom.IChatRoomContainer; import org.eclipse.ecf.presence.chatroom.IChatRoomMessage; import org.eclipse.ecf.presence.chatroom.IChatRoomMessageSender; +import org.eclipse.ecf.presence.im.IChatID; import org.eclipse.ecf.presence.im.IChatMessageEvent; import org.eclipse.ecf.presence.im.IChatMessageSender; import org.eclipse.osgi.util.NLS; @@ -144,6 +145,11 @@ public class ChatRoomMessageHandler implements IChatRoomMessageHandler { private IContainer container; private IChatMessageSender chatMessageSender; + + /** + * The name of this bot. May be null if the name could not be retrieved from the container. + */ + private String botName; private String password; @@ -869,7 +875,7 @@ public class ChatRoomMessageHandler implements IChatRoomMessageHandler { public void handleRoomMessage(IChatRoomMessage message) { ID fromID = message.getFromID(); String name = fromID.getName(); - if (name.charAt(0) == '#' || name.equals("KOS-MOS")) { // skip messages + if (name.charAt(0) == '#' || name.equals(botName)) { // skip messages // from the // channel or // self @@ -933,6 +939,14 @@ public class ChatRoomMessageHandler implements IChatRoomMessageHandler { } public void preChatRoomConnect(IChatRoomContainer roomContainer, ID roomID) { + // retrieve our name + ID connectedID = container.getConnectedID(); + botName = connectedID.getName(); + IChatID chatID = (IChatID) connectedID.getAdapter(IChatID.class); + if (chatID != null) { + botName = chatID.getUsername(); + } + messageSenders.put(roomID, roomContainer.getChatRoomMessageSender()); if (password != null) { try { -- cgit v1.2.3