コード例 #1
0
        static void Main(string[] args)
        {
            bots = new List <KeyValuePair <Server, IrcBot> >();
            Config.I.LoadServers();
            foreach (Server server in Config.I.servers)
            {
                IrcBot irc = new IrcBot(server);
                irc.StartBot();
                irc.newMessage += Value_newMessage;
                bots.Add(new KeyValuePair <Server, IrcBot>(server, irc));
            }
            TcpListener listener = new TcpListener(IPAddress.Any, 9809);

            listener.Start();
            while (true)
            {
                TcpClient t      = listener.AcceptTcpClient();
                Thread    thread = new Thread(new ParameterizedThreadStart(ClientThread));
                thread.Start(t);
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            List <KeyValuePair <Server, IrcBot> > bots = new List <KeyValuePair <Server, IrcBot> >();

            Config.I.LoadServers();
            foreach (Server server in Config.I.servers)
            {
                IrcBot irc = new IrcBot(server);
                Console.WriteLine("Starting " + server.name);
                irc.StartBot();
                bots.Add(new KeyValuePair <Server, IrcBot>(server, irc));
            }
            while (true)
            {
                Console.WriteLine("1. Select a bot");
                Console.WriteLine("2. Add a bot to a server");
                Console.WriteLine("3. Modify Configuration");
                Console.WriteLine("s. Save Configuration");
                Console.WriteLine("q. Quit");
                switch (Console.ReadLine())
                {
                case "1":
                {
                    for (int x = 0; x < bots.Count; x++)
                    {
                        Console.WriteLine((x + 1).ToString() + ". " + bots[x].Key.name);
                    }
                    int bot = -1;
                    while (bot == -1)
                    {
                        int.TryParse(Console.ReadLine(), out bot);
                        if (bot < 1 || bot > bots.Count)
                        {
                            bot = -1;
                        }
                    }
                    bot--;
                    bool loop = true;
                    while (loop)
                    {
                        Console.WriteLine("1. Add an Operator");
                        Console.WriteLine("2. Remove an Operator");
                        Console.WriteLine("3. List Operators");
                        Console.WriteLine("b. Go Back");
                        switch (Console.ReadLine())
                        {
                        case "1":
                            Console.Write("Nick: ");
                            string n = Console.ReadLine();
                            Console.Write("Password: "******"2":
                            Console.Write("Operator to Remove: ");
                            string ni = Console.ReadLine();
                            bots[bot].Value.RemoveOperator(ni);
                            break;

                        case "3":
                            foreach (string op in bots[bot].Value.GetOperators())
                            {
                                Console.WriteLine(op);
                            }
                            break;

                        case "b":
                            loop = false;
                            break;
                        }
                    }
                    break;
                }

                case "2":
                    Server serv = new Server();
                    IrcBot b    = new IrcBot(serv);
                    bots.Add(new KeyValuePair <Server, IrcBot>(serv, b));
                    b.StartBot();
                    Config.I.servers.Add(serv);
                    Config.I.Save();
                    Console.WriteLine("Saved");
                    break;

                case "3":
                {
                    bool loop = true;
                    while (loop)
                    {
                        Console.WriteLine("EncryptFiles = " + Config.I.EncryptFiles.ToString());
                        foreach (KeyValuePair <string, string> option in Config.I.vars)
                        {
                            Console.WriteLine(option.Key + " = " + option.Value);
                        }
                        Console.WriteLine("Enter the option you would like to change or b to go back.");
                        string opt = Console.ReadLine();
                        if (opt == "b")
                        {
                            break;
                        }
                        if (Config.I.vars.ContainsKey(opt))
                        {
                            Console.WriteLine("Enter value");
                            Config.I.vars[opt] = Console.ReadLine();
                        }
                        else if (opt == "EncryptFiles")
                        {
                            Console.WriteLine("Enter value[true/false]");
                            if (!bool.TryParse(Console.ReadLine(), out Config.I.EncryptFiles))
                            {
                                Console.WriteLine("Invalid value.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("That is not an option to edit.");
                        }
                    }
                    break;
                }

                case "s":
                {
                    Config.I.Save();
                    break;
                }

                case "q":
                {
                    for (int x = 0; x < bots.Count; x++)
                    {
                        bots[x].Value.Quit();
                    }
                    return;
                }
                }
            }
        }