Exemplo n.º 1
0
        public void del_access_list(string nick, string channel, string access, bot ircbot)
        {
            string   file_name    = ircbot.server_name + "_list.txt";
            DateTime current_date = DateTime.Now;

            if (Directory.Exists(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + "") == false)
            {
                Directory.CreateDirectory(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access");
            }
            if (File.Exists(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name))
            {
                string[]      log_file        = System.IO.File.ReadAllLines(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name);
                int           number_of_lines = log_file.GetUpperBound(0) + 1;
                List <string> new_file        = new List <string>();
                if (number_of_lines > 0)
                {
                    foreach (string lines in log_file)
                    {
                        char[]   sep      = new char[] { '*' };
                        string[] new_line = lines.Split(sep, 3);
                        if (new_line.GetUpperBound(0) > 0)
                        {
                            if (new_line[0].Trim().Equals(nick) && new_line[1].Trim().Equals(channel))
                            {
                                string[] tmp_line   = new_line[2].Trim().Split(',');
                                string   new_access = "";
                                foreach (string line in tmp_line)
                                {
                                    if (line.Equals(access))
                                    {
                                    }
                                    else
                                    {
                                        new_access += "," + line;
                                    }
                                }
                                if (new_access.TrimStart(',').TrimEnd(',') != "")
                                {
                                    new_file.Add(new_line[0].Trim() + "*" + new_line[1].Trim() + "*" + new_access.TrimStart(',').TrimEnd(','));
                                }
                            }
                            else
                            {
                                new_file.Add(lines);
                            }
                        }
                    }
                    System.IO.File.WriteAllLines(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name, new_file);
                }
            }

            for (int x = 0; x < ircbot.nick_list.Count(); x++)
            {
                if (ircbot.nick_list[x][0].Equals(channel))
                {
                    for (int i = 2; i < ircbot.nick_list[x].Count(); i++)
                    {
                        string[] split = ircbot.nick_list[x][i].Split(':');
                        if (split[1].Equals(nick))
                        {
                            int new_access = ircbot.get_user_op(nick, channel);
                            ircbot.nick_list[x][i] = new_access.ToString() + ":" + nick;
                            new_access             = ircbot.get_user_access(nick, channel);
                            ircbot.nick_list[x][i] = new_access.ToString() + ":" + nick;
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void del_access_list(string nick, string channel, string access, bot ircbot)
        {
            string file_name = ircbot.server_name + "_list.txt";
            DateTime current_date = DateTime.Now;

            if (Directory.Exists(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + "") == false)
            {
                Directory.CreateDirectory(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access");
            }
            if (File.Exists(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name))
            {
                string[] log_file = System.IO.File.ReadAllLines(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name);
                int number_of_lines = log_file.GetUpperBound(0) + 1;
                List<string> new_file = new List<string>();
                if (number_of_lines > 0)
                {
                    foreach (string lines in log_file)
                    {
                        char[] sep = new char[] { '*' };
                        string[] new_line = lines.Split(sep, 3);
                        if (new_line.GetUpperBound(0) > 0)
                        {
                            if (new_line[0].Trim().Equals(nick) && new_line[1].Trim().Equals(channel))
                            {
                                string[] tmp_line = new_line[2].Trim().Split(',');
                                string new_access = "";
                                foreach (string line in tmp_line)
                                {
                                    if (line.Equals(access))
                                    {
                                    }
                                    else
                                    {
                                        new_access += "," + line;
                                    }
                                }
                                if (new_access.TrimStart(',').TrimEnd(',') != "")
                                {
                                    new_file.Add(new_line[0].Trim() + "*" + new_line[1].Trim() + "*" + new_access.TrimStart(',').TrimEnd(','));
                                }
                            }
                            else
                            {
                                new_file.Add(lines);
                            }
                        }
                    }
                    System.IO.File.WriteAllLines(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "access" + Path.DirectorySeparatorChar + file_name, new_file);
                }
            }

            for (int x = 0; x < ircbot.nick_list.Count(); x++)
            {
                if (ircbot.nick_list[x][0].Equals(channel))
                {
                    for (int i = 2; i < ircbot.nick_list[x].Count(); i++)
                    {
                        string[] split = ircbot.nick_list[x][i].Split(':');
                        if (split[1].Equals(nick))
                        {
                            int new_access = ircbot.get_user_op(nick, channel);
                            ircbot.nick_list[x][i] = new_access.ToString() + ":" + nick;
                            new_access = ircbot.get_user_access(nick, channel);
                            ircbot.nick_list[x][i] = new_access.ToString() + ":" + nick;
                            break;
                        }
                    }
                }
            }
        }