Пример #1
0
        public void Join(string channel)
        {
            ReadConnection.WriteLine("JOIN " + channel);

            if (!SingleConnection)
            {
                WriteConnection.WriteLine("JOIN " + channel);
            }
        }
Пример #2
0
        public void Part(string channel)
        {
            ReadConnection.WriteLine("PART " + channel);

            if (!SingleConnection)
            {
                WriteConnection.WriteLine("PART " + channel);
            }
        }
Пример #3
0
        public bool Say(string message, string channel, bool isMod)
        {
            if (lastMessagesMod.Count < (isMod ? 99 : 19))
            {
                if (message.StartsWith(".color"))
                {
                    WriteConnection.WriteLine("PRIVMSG #" + channel + " :" + message);
                    return(true);
                }
            }

            lock (lastMessagesLock)
            {
                while (lastMessagesMod.Count > 0 && lastMessagesMod.Peek() < DateTime.Now)
                {
                    lastMessagesMod.Dequeue();
                }

                while (lastMessagesPleb.Count > 0 && lastMessagesPleb.Peek() < DateTime.Now)
                {
                    lastMessagesPleb.Dequeue();
                }

                if (lastMessagesMod.Count < (isMod ? 99 : 19))
                {
                    WriteConnection.WriteLine("PRIVMSG #" + channel + " :" + message);

                    lastMessagesMod.Enqueue(DateTime.Now + TimeSpan.FromSeconds(32));
                    lastMessagesPleb.Enqueue(DateTime.Now + TimeSpan.FromSeconds(32));
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #4
0
 public void WriteLine(string value)
 {
     WriteConnection.WriteLine(value);
 }