Beispiel #1
0
        private void OnMode(IrcMessage message)
        {
            if (message.Parameters.Count > 0)
            {
                if (IrcTarget.IsChannelName(message.Parameters[0]))
                {
                    this.RaiseEvent(this.ChannelModeChanged, new IrcChannelModeEventArgs(message));
                }
                else
                {
                    var e = new IrcUserModeEventArgs(message);
                    this.UserModes = (from m in e.Modes.Where((newMode) => newMode.Set).Select((newMode) => newMode.Mode).Union(this.UserModes).Distinct()
                                      where !e.Modes.Any((newMode) => !newMode.Set && newMode.Mode == m)
                                      select m).ToArray();

                    this.RaiseEvent(this.UserModeChanged, new IrcUserModeEventArgs(message));
                }
            }
        }
 private void Session_UserModeChanged(object sender, IrcUserModeEventArgs e)
 {
     if (this.IsServer)
     {
         this.Write("Mode", e.Message.Time, string.Format("You set mode: {0}", IrcUserMode.RenderModes(e.Modes)));
     }
     this.SetTitle();
 }