Exemple #1
0
        void SpeedRunsLive_MessageReceived(object sender, IrcMessageEventArgs e)
        {
            if (e.Targets.Count > 0 && e.Targets[0] == RaceChannel)
            {
                var realName = RaceChannel.Users.FirstOrDefault(x => x.User.NickName == e.Source.Name).User.RealName;
                ProcessRaceChannelMessage(e.Source.Name, e.Text);
            }
            else if (e.Targets.Count > 0 && e.Targets[0] == LiveSplitChannel)
            {
                ProcessLiveSplitChannelMessage(e.Source.Name, e.Text);
            }
            else if (e.Targets.Count > 0 && e.Targets[0] == MainChannel)
            {
                ProcessMainChannelMessage(e.Source.Name, e.Text);
            }

            if (MessageReceived != null)
            {
                var rights = SRLIRCRights.Normal;
                if (e.Targets[0] is IrcChannel)
                {
                    var target = e.Targets[0] as IrcChannel;
                    var source = target.Users.FirstOrDefault(x => x.User.NickName == e.Source.Name);
                    if (source != null)
                    {
                        rights = SRLIRCRightsHelper.FromIrcChannelUser(source);
                    }
                }
                MessageReceived(this, new Tuple <string, SRLIRCUser, string>(e.Targets[0].Name, new SRLIRCUser(e.Source.Name, rights), e.Text));
            }
        }
Exemple #2
0
        public IEnumerable <SRLIRCUser> GetRaceChannelUsers()
        {
            if (RaceChannel == null)
            {
                return(new SRLIRCUser[0]);
            }

            return(RaceChannel.Users
                   .Select(x =>
                           new SRLIRCUser(
                               x.User.NickName,
                               SRLIRCRightsHelper.FromIrcChannelUser(x)
                               )
                           )
                   .OrderBy(x =>
                            ((x.Rights == SRLIRCRights.Operator)
                    ? "0"
                    : (x.Rights == SRLIRCRights.Voice)
                    ? "1"
                    : "2")
                            + x.Name
                            ));
        }