private static void display_seen(string nick, string channel, bot ircbot)
{
string tab_name = channel.TrimStart('#');
string pattern = "[^a-zA-Z0-9]"; //regex pattern
tab_name = Regex.Replace(tab_name, pattern, "_");
string file_name = ircbot.Conf.Server_Name + "_#" + tab_name + ".log";
bool nick_found = false;
if (File.Exists(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "seen" + Path.DirectorySeparatorChar + file_name))
{
string[] log_file = System.IO.File.ReadAllLines(ircbot.cur_dir + Path.DirectorySeparatorChar + "modules" + Path.DirectorySeparatorChar + "seen" + Path.DirectorySeparatorChar + file_name);
int number_of_lines = log_file.GetUpperBound(0) + 1;
if (number_of_lines > 0)
{
foreach (string line in log_file)
{
char[] sep = new char[] { '*' };
string[] new_line = line.Split(sep, 4);
if (new_line.GetUpperBound(0) > 0)
{
if (new_line[0].Equals(nick, StringComparison.InvariantCultureIgnoreCase) && new_line[1].Equals(channel, StringComparison.InvariantCultureIgnoreCase))
{
DateTime current_date = DateTime.Now;
DateTime past_date = DateTime.Parse(new_line[2]);
string difference_second = "00";
string difference_minute = "00";
string difference_hour = "00";
string difference_day = "00";
difference_second = current_date.Subtract(past_date).ToString("ss");
difference_minute = current_date.Subtract(past_date).ToString("mm");
difference_hour = current_date.Subtract(past_date).ToString("hh");
difference_day = current_date.Subtract(past_date).ToString("dd");
string difference = "";
if (difference_day != "00")
{
difference += " " + difference_day + " days,";
}
if (difference_hour != "00")
{
difference += " " + difference_hour + " hours,";
}
if (difference_minute != "00")
{
difference += " " + difference_minute + " minutes,";
}
if (difference_second != "00")
{
difference += " " + difference_second + " seconds,";
}
ircbot.sendData("PRIVMSG", channel + " :I last saw " + nick + " " + difference.Trim().TrimEnd(',') + " ago " + new_line[3]);
nick_found = true;
break;
}
}
}
if (nick_found == false)
{
ircbot.sendData("PRIVMSG", channel + " :I have not seen " + nick);
}
}
else
{
ircbot.sendData("PRIVMSG", channel + " :I have not seen " + nick);
}
}
else
{
ircbot.sendData("PRIVMSG", channel + " :I have not seen " + nick);
}
}