I haven't seen a module adding in nickserv and chanserv abilities like:
Registered : May 06 14:19:06 2008 (6 weeks, 3 days, 19:14:21 ago)
Last seen : Dec 19 21:34:28 2007 (26 weeks, 2 days, 12:01:01 ago)
I know its not that important cause you can make these calculations alone.. but many times its easy to see that this chan is registered for 2 years.. and don't have to see the registration time and do the calculation..
its just needs a function to do these calculations.. i paste it below.. it just needs someone to add it in a module cause i dont know how to make modules and i dont have time unfortunately to read about.
char *time_ago(time_t event)
{
static char ret[128];
int years, weeks, days, hours, minutes, seconds;
event = CURRTIME - event;
years = weeks = days = hours = minutes = seconds = 0;
while (event >= 60 * 60 * 24 * 365)
{
event -= 60 * 60 * 24 * 365;
years++;
}
while (event >= 60 * 60 * 24 * 7)
{
event -= 60 * 60 * 24 * 7;
weeks++;
}
while (event >= 60 * 60 * 24)
{
event -= 60 * 60 * 24;
days++;
}
while (event >= 60 * 60)
{
event -= 60 * 60;
hours++;
}
while (event >= 60)
{
event -= 60;
minutes++;
}
seconds = event;
if (years)
snprintf(ret, sizeof(ret),
"%d year%s, %d week%s, %d day%s, %02d:%02d:%02d", years, years == 1 ? "" : "s", weeks, weeks == 1 ? "" : "s", days, days == 1 ? "" : "s", hours, minutes, seconds);
else if (weeks)
snprintf(ret, sizeof(ret), "%d week%s, %d day%s, %02d:%02d:%02d", weeks, weeks == 1 ? "" : "s", days, days == 1 ? "" : "s", hours, minutes, seconds);
else if (days)
snprintf(ret, sizeof(ret), "%d day%s, %02d:%02d:%02d", days, days == 1 ? "" : "s", hours, minutes, seconds);
else if (hours)
snprintf(ret, sizeof(ret), "%d hour%s, %d minute%s, %d second%s", hours, hours == 1 ? "" : "s", minutes, minutes == 1 ? "" : "s", seconds, seconds == 1 ? "" : "s");
else if (minutes)
snprintf(ret, sizeof(ret), "%d minute%s, %d second%s", minutes, minutes == 1 ? "" : "s", seconds, seconds == 1 ? "" : "s");
else
snprintf(ret, sizeof(ret), "%d second%s", seconds, seconds == 1 ? "" : "s");
return ret;
}
(code is not mine.. i got it from atheme services)