private void _Event_MODE(IrcMessageData ircdata)
{
if (IsMe(ircdata.RawMessageArray[2])) {
// my user mode changed
_Usermode = ircdata.RawMessageArray[3].Substring(1);
} else {
// channel mode changed
string mode = ircdata.RawMessageArray[3];
string parameter = String.Join(" ", ircdata.RawMessageArray, 4, ircdata.RawMessageArray.Length-4);
_InterpretChannelMode(ircdata, mode, parameter);
}
if ((ircdata.Type == ReceiveType.UserModeChange) &&
(OnUserModeChange != null)) {
OnUserModeChange(this, new IrcEventArgs(ircdata));
}
if ((ircdata.Type == ReceiveType.ChannelModeChange) &&
(OnChannelModeChange != null)) {
OnChannelModeChange(this, new IrcEventArgs(ircdata));
}
if (OnModeChange != null) {
OnModeChange(this, new IrcEventArgs(ircdata));
}
}