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; } } } } }
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; } } } } }