Aselia.UserCommands.CjoinHandler.Handler C# (CSharp) Метод

Handler() публичный Метод

public Handler ( object sender, ReceivedCommandEventArgs e ) : void
sender object
e ReceivedCommandEventArgs
Результат void
        public void Handler(object sender, ReceivedCommandEventArgs e)
        {
            if (e.Arguments.Length < 1)
            {
                e.User.ErrorNeedMoreParams(CMD);
                return;
            }

            string[] channels = e.Arguments[0].Split(',');
            for (int i = 0; i < channels.Length; i++)
            {
                try
                {
                    ChannelBase channel = e.Server.GetChannel(channels[i]);
                    if (channel == null)
                    {
                        if (!e.Server.IsValidChannel(channels[i]))
                        {
                            e.User.SendNumeric(Numerics.ERR_BADCHANMASK, channels[i], ":That is an invalid channel name.");
                            continue;
                        }

                        channel = e.Server.CreateChannel(channels[i], e.User);
                        if (channel == null)
                        {
                            continue;
                        }

                        if (!e.User.AddToChannel(channel))
                        {
                            e.User.SendNumeric(Numerics.ERR_CONCURRENCY, ":A concurrency error occurred while joining the channel.");
                            return;
                        }

                        channel.BroadcastInclusive("JOIN", e.User, channel.Name);
                        e.User.Names(channel);
                        e.Server.Channels[channel.Name] = channel;
                    }
                    else
                    {
                        e.User.SendNumeric(Numerics.ERR_CHANNELEXISTS, channels[i], ":That channel already exists.");
                    }
                }
                catch (Exception ex)
                {
                    e.User.SendNumeric(Numerics.ERR_UNKNOWNERROR, ":Error joining channel:", ex.Message);
                }
            }
        }
CjoinHandler