Esempio n. 1
0
        private static void Main(string[] args)
        {
            var ircConnection = new IrcConnection(new ServerDetails() { Port = 6667, Address = "irc.esper.net", Name = "Esper.net" });
            var client = new Client(ircConnection, new ClientConfig() { Nickname = "Iris", Password = "******", UserMode = 0, Username = "******" });
            client.Message += (sender, message) =>
                {
                    if (message is PrivateMessage)
                    {
                        var privmsg = (PrivateMessage)message;
                        Console.WriteLine(privmsg.User + ": " + privmsg.Message);
                    }
                    else
                        Console.WriteLine(message.Line.Remove(0, message.Line.IndexOf(':', 2) + 1));
                };

            var clientThread = new Thread((ParameterizedThreadStart)((object delay) => client.Run((Action)delay)))
            {
                Name = "Client - Esper.net",
                IsBackground = true
            };
            clientThread.Start((Action)(() => Thread.Sleep(100))); //Needs the delay action passed in because Portable Class Libraries don't support Threads ...

            Console.WriteLine("Write exit to ... well ... exit.");

            var readLine = "";
            while (true)
            {
                readLine = Console.ReadLine();

                if (readLine.ToLower() == "exit")
                    break;

                ircConnection.SendLine(readLine);
            }

            client.Stop();

            Console.WriteLine("Threads should be stopping.");
            Console.ReadLine();
        }
Esempio n. 2
0
        private static void Main(string[] args)
        {
            IrcConnection ircConnection = new IrcConnection(new ServerDetails() { Port = 6667, Address = "irc.esper.net", Name = "Esper.net" });

            Client client = new Client(ircConnection, new ClientConfig() { Nickname = "Nish|Iris", Password = "", UserMode = 0, Username = "******" });
            client.Message += (sender, line) => Console.WriteLine(line);
            client.PrivateMessage += client_PrivateMessage;
            client.Connected += client_Connected;

            Thread clientThread = new Thread((ParameterizedThreadStart)((object delay) => client.Run((Action)delay)));
            clientThread.Name = "Client - Esper.net";
            clientThread.IsBackground = true;
            clientThread.Start((Action)(() => Thread.Sleep(100))); //Needs the delay action passed in because Portable Class Libraries don't support Threads ...

            Console.WriteLine("Press enter to stop threads.");
            Console.ReadLine();

            client.Stop();

            Console.WriteLine("Threads should be stopping.");
            Console.ReadLine();
        }