(irc) Leaving rooms
This commit is contained in:
parent
40eaac550f
commit
31ad5abf81
|
@ -124,6 +124,16 @@ IrcProtocol::Process(BMessage* msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case IM_LEAVE_ROOM:
|
||||||
|
{
|
||||||
|
BString chat_id;
|
||||||
|
if (msg->FindString("chat_id", &chat_id) == B_OK) {
|
||||||
|
BString cmd = "PART ";
|
||||||
|
cmd << chat_id << " * :" << fPartText << "\n";
|
||||||
|
_SendIrc(cmd);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case IM_GET_ROOM_METADATA:
|
case IM_GET_ROOM_METADATA:
|
||||||
{
|
{
|
||||||
BString chat_id;
|
BString chat_id;
|
||||||
|
@ -349,6 +359,25 @@ IrcProtocol::_ProcessCommand(BString command, BString sender,
|
||||||
}
|
}
|
||||||
_SendMsg(&joined);
|
_SendMsg(&joined);
|
||||||
}
|
}
|
||||||
|
else if (command == "PART" || command == "QUIT")
|
||||||
|
{
|
||||||
|
BString body = B_TRANSLATE("left: ");
|
||||||
|
if (command == "QUIT")
|
||||||
|
body = B_TRANSLATE("quit: ");
|
||||||
|
body << params.Last();
|
||||||
|
|
||||||
|
BMessage left(IM_MESSAGE);
|
||||||
|
left.AddString("chat_id",params.First());
|
||||||
|
left.AddString("body", body);
|
||||||
|
if (_SenderIdent(sender) == fIdent)
|
||||||
|
left.AddInt32("im_what", IM_ROOM_LEFT);
|
||||||
|
else {
|
||||||
|
left.AddInt32("im_what", IM_ROOM_PARTICIPANT_LEFT);
|
||||||
|
left.AddString("user_id", _SenderIdent(sender));
|
||||||
|
left.AddString("user_name", _SenderNick(sender));
|
||||||
|
}
|
||||||
|
_SendMsg(&left);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Ŝarĝante…
Reference in New Issue