示例#1
0
 private bool ChannelInfo(Network.IncomingDataEventArgs info)
 {
     if (info.Parameters.Count > 2)
     {
         Channel channel = _Network.GetChannel(info.Parameters[1]);
         Network.NetworkChannelDataEventArgs args = new Network.NetworkChannelDataEventArgs(this.ServerLineRawText, this.Date);
         args.Command = info.Command;
         args.Message = info.Message;
         args.Parameters = info.Parameters;
         args.Channel = channel;
         args.ChannelName = info.Parameters[1];
         if (channel != null)
         {
             channel.ChannelMode.ChangeMode(info.Parameters[2]);
             _Network.__evt_ChannelInfo(args);
             return true;
         }
         _Network.__evt_ChannelInfo(args);
     }
     return IsBacklog;
 }
示例#2
0
        private bool FinishChan(Network.IncomingDataEventArgs info)
        {
            if (info.Parameters.Count == 0)
                return false;
            Network.NetworkChannelDataEventArgs ev = new Network.NetworkChannelDataEventArgs(this.ServerLineRawText, this.Date);
            ev.ChannelName = info.Parameters[1];
            ev.ParameterLine = info.ParameterLine;
            ev.Parameters = info.Parameters;
            ev.Channel = _Network.GetChannel(info.Parameters[1]);
            if (ev.Channel != null)
                ev.Channel.IsParsingWhoData = false;

            _Network.__evt_FinishChannelParseUser(ev);
            return true;
        }
示例#3
0
 private bool Part(Network.IncomingDataEventArgs info)
 {
     string chan = info.ParameterLine.Trim();
     Channel channel = _Network.GetChannel(chan);
     Network.NetworkChannelDataEventArgs ev = new Network.NetworkChannelDataEventArgs(this.ServerLineRawText, this.Date);
     ev.ChannelName = chan;
     ev.Channel = channel;
     ev.Source = info.Source;
     ev.Message = info.Message;
     ev.ParameterLine = info.ParameterLine;
     _Network.__evt_PART(ev);
     if (channel != null)
     {
         if (!IsBacklog)
             channel.RemoveUser(ev.SourceInfo.Nick);
         return true;
     }
     return IsBacklog;
 }
示例#4
0
 private bool Invite(string source, string parameters)
 {
     Network.NetworkChannelDataEventArgs ev = new Network.NetworkChannelDataEventArgs(this.ServerLineRawText, this.Date);
     ev.Source = source;
     ev.ChannelName = parameters;
     _Network.__evt_INVITE(ev);
     return true;
 }