From 5982d1c95ab8557f6d5d26798cc41808a9086941 Mon Sep 17 00:00:00 2001 From: dms Date: Sun, 1 Apr 2001 15:00:05 +0000 Subject: [PATCH] Second round of News changes and bug fixes, kudos to greycat git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@423 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/IrcHooks.pl | 3 ++- src/Misc.pl | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/IRC/IrcHooks.pl b/src/IRC/IrcHooks.pl index 87d3f68..0fce62e 100644 --- a/src/IRC/IrcHooks.pl +++ b/src/IRC/IrcHooks.pl @@ -491,7 +491,7 @@ sub on_join { if (scalar @new) { &msg($who, "+==== New news for $chan (".scalar(@new)."):"); # todo: show how many sec/min/etc ago? - my $timestr = &Time2String( $::newsuser{$chan}{$who} ); + my $timestr = &Time2String( time() - $::newsuser{$chan}{$who} ); &msg($who, "|= Last time read $timestr ago"); foreach (@new) { @@ -500,6 +500,7 @@ sub on_join { &msg($who, sprintf("\002[\002%2d\002]\002 %s (%s)", $i, $_, &Time2String($age) ) ); } + &msg($who, "to read, do 'news read <#>' or 'news read '"); # lame hack to prevent dupes if we just ignore it. $::newsuser{$chan}{$who} = time(); diff --git a/src/Misc.pl b/src/Misc.pl index b9c473f..1a216c6 100644 --- a/src/Misc.pl +++ b/src/Misc.pl @@ -167,8 +167,13 @@ sub Time2String { my $time = shift; my $retval; - return("0s") - if (!defined $time or $time !~ /\d+/ or $time <= 0); + return("NULL s") if (!defined $time or $time !~ /\d+/); + + my $prefix = ""; + if ($time < 0) { + $time = - $time; + $prefix = "- "; + } my $s = int($time) % 60; my $m = int($time / 60) % 60; @@ -180,7 +185,7 @@ sub Time2String { $retval .= sprintf(" \002%d\002m", $m) if ($m != 0); $retval .= sprintf(" \002%d\002s", $s) if ($s != 0); - return substr($retval, 1); + return $prefix.substr($retval, 1); } ### -- 2.39.2