Added support for handling ban messages.

fix-message-formatting
Danny van Heumen 12 years ago
parent bbc8c44db2
commit 52ba98ccd1

@ -1241,8 +1241,6 @@ private void leaveChatRoom()
*/ */
private void processModeMessage(ChannelModeMessage msg) private void processModeMessage(ChannelModeMessage msg)
{ {
// TODO Handle or ignore ban channel mode (MODE STRING: +b
// *!*@some-ip.dynamicIP.provider.net)
ChatRoomMemberIrcImpl sourceMember = extractChatRoomMember(msg); ChatRoomMemberIrcImpl sourceMember = extractChatRoomMember(msg);
ModeParser parser = new ModeParser(msg.getModeStr()); ModeParser parser = new ModeParser(msg.getModeStr());
@ -1376,12 +1374,12 @@ private void processModeMessage(ChannelModeMessage msg)
} }
break; break;
case LIMIT: case LIMIT:
MessageIrcImpl message; MessageIrcImpl limitMessage;
if (mode.isAdded()) if (mode.isAdded())
{ {
try try
{ {
message = limitMessage =
new MessageIrcImpl("channel limit set to " new MessageIrcImpl("channel limit set to "
+ Integer.parseInt(mode.getParams()[0]) + Integer.parseInt(mode.getParams()[0])
+ " by " + " by "
@ -1403,7 +1401,7 @@ private void processModeMessage(ChannelModeMessage msg)
// calls himself server. There should be some other way // calls himself server. There should be some other way
// to represent the server if a message comes from // to represent the server if a message comes from
// something other than a normal chat room member. // something other than a normal chat room member.
message = limitMessage =
new MessageIrcImpl( new MessageIrcImpl(
"channel limit removed by " "channel limit removed by "
+ (sourceMember.getContactAddress() + (sourceMember.getContactAddress()
@ -1411,7 +1409,23 @@ private void processModeMessage(ChannelModeMessage msg)
: sourceMember.getContactAddress()), : sourceMember.getContactAddress()),
"text/plain", "UTF-8", null); "text/plain", "UTF-8", null);
} }
this.chatroom.fireMessageReceivedEvent(message, this.chatroom.fireMessageReceivedEvent(limitMessage,
sourceMember, new Date(),
ChatRoomMessageReceivedEvent.SYSTEM_MESSAGE_RECEIVED);
break;
case BAN:
MessageIrcImpl banMessage =
new MessageIrcImpl(
"channel ban mask was "
+ (mode.isAdded() ? "added" : "removed")
+ ": "
+ mode.getParams()[0]
+ " by "
+ (sourceMember.getContactAddress()
.length() == 0 ? "server"
: sourceMember.getContactAddress()),
"text/plain", "UTF-8", null);
this.chatroom.fireMessageReceivedEvent(banMessage,
sourceMember, new Date(), sourceMember, new Date(),
ChatRoomMessageReceivedEvent.SYSTEM_MESSAGE_RECEIVED); ChatRoomMessageReceivedEvent.SYSTEM_MESSAGE_RECEIVED);
break; break;

Loading…
Cancel
Save