]> git.donarmstrong.com Git - infobot.git/commitdiff
countdown cleanup
authortimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Thu, 18 Nov 2004 08:03:48 +0000 (08:03 +0000)
committertimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Thu, 18 Nov 2004 08:03:48 +0000 (08:03 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@1040 c11ca15a-4712-0410-83d8-924469b57eb5

doc/cmd.list
files/sample/blootbot.config
src/CommandStubs.pl
src/Modules/Countdown.pl [deleted file]
src/Modules/countdown.pl [new file with mode: 0644]
src/modules.pl

index 17600a6595004abab8c2f3e7ad18137b1156c2a1..cd417b96e7da767980247103d4d9fa4c07ec1b48 100644 (file)
@@ -11,7 +11,7 @@
 &addCmdHook("extra", 'kernel', ('CODEREF' => 'Kernel::Kernel',
 &addCmdHook("extra", 'listauth', ('CODEREF' => 'CmdListAuth',
 &addCmdHook("extra", 'quote', ('CODEREF' => 'Quote::Quote',
-&addCmdHook("extra", 'countdown', ('CODEREF' => 'Countdown',
+&addCmdHook("extra", 'countdown', ('CODEREF' => 'countdown',
 &addCmdHook("extra", 'lart', ('CODEREF' => 'lart',
 &addCmdHook("extra", 'convert', ('CODEREF' => 'convert',
 &addCmdHook("extra", '(cookie|random)', ('CODEREF' => 'cookie',
index ae1d239f5e9a39f37b9162a3ddeae8bda2887f13..919a512e770b70bb697aae3ee4a8a5f4937bfe64 100644 (file)
@@ -194,7 +194,7 @@ set babelfish               true
 # [0/1] offer free factoid cookies
 set cookie             true
 
-# [0/1] Countdown to specific dates
+# [0/1] countdown to specific dates
 set countdown          true
 
 # [0/1] Debian file and package search.
index edd29415a4d5fd6c7dbd6bd512bcbd252683daaa..5bc8162e0bf51b9d348dfb9422bd89e987e73f58 100644 (file)
@@ -195,9 +195,9 @@ sub parseCmdHook {
 &addCmdHook("extra", 'quote', ('CODEREF' => 'Quote::Quote',
        'Forker' => 1, 'Identifier' => 'quote',
        'Help' => 'quote', 'Cmdstats' => 'Quote') );
-&addCmdHook("extra", 'countdown', ('CODEREF' => 'Countdown',
+&addCmdHook("extra", 'countdown', ('CODEREF' => 'countdown',
        'Module' => 'countdown', 'Identifier' => 'countdown',
-       'Cmdstats' => 'Countdown') );
+       'Cmdstats' => 'countdown') );
 &addCmdHook("extra", 'lart', ('CODEREF' => 'lart',
        'Identifier' => 'lart', 'Help' => 'lart') );
 &addCmdHook("extra", 'convert', ('CODEREF' => 'convert',
diff --git a/src/Modules/Countdown.pl b/src/Modules/Countdown.pl
deleted file mode 100644 (file)
index a5e9edf..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# Countdown.pl: Count down to a particular date.
-#       Author: dms
-#      Version: v0.1 (20000104)
-#      Created: 20000104
-#
-
-use strict;
-
-#use vars qw();
-
-sub Countdown {
-    my ($query) = @_;
-    my $file = "$bot_base_dir/$param{'ircUser'}.countdown";
-    my (%date, %desc);
-    my $reply;
-
-    if (!open(IN,$file)) {
-       &ERROR("cannot open $file.");
-       return 0;
-    }
-
-    while (<IN>) {
-       chop;
-       s/[\s\t]+/ /g;
-
-       if (/^(\d{8}) (\S+) (.*)$/) {
-           $date{$2} = $1;
-           $desc{$2} = $3;
-       }
-    }
-    close IN;
-
-    if (defined $query) {                      # argument.
-       if (!exists $date{$query}) {
-           &msg($who,"error: $query is not in my countdown list.");
-           return 0;
-       }
-
-       $date{$query} =~ /^(\d{4})(\d{2})(\d{2})$/;
-       my($year,$month,$day) = ($1,$2,$3);
-       my $sqldate = "$1-$2-$3";
-
-       ### SQL SPECIFIC.
-       my ($to_days,$dayname,$monname);
-
-       if ($param{'DBType'} =~ /^mysql|sqlite$/i) {
-           $to_days = (&sqlRawReturn("SELECT TO_DAYS(NOW()) - TO_DAYS('$sqldate')"))[0];
-           $dayname = (&sqlRawReturn("SELECT DAYNAME('$sqldate')"))[0];
-           $monname = (&sqlRawReturn("SELECT MONTHNAME('$sqldate')"))[0];
-
-       } elsif ($param{'DBType'} =~ /^pgsql$/i) {
-           $to_days = (&sqlRawReturn("SELECT date_trunc('day',
-                               'now'::timestamp - '$sqldate')"))[0];
-           $dayname = qw(Sun Mon Tue Wed Thu Fri Sat)[(&sqlRawReturn("SELECT extract(dow from timestamp '$sqldate')"))[0]];
-           $monname = qw(BAD Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)[(&sqlRawReturn("SELECT extract(month from timestamp '$sqldate')"))[0]];
-
-       } else {
-           &ERROR("Countdown: invalid DBType " . $param{'DBType'} . ".");
-           return 1;
-       }
-
-       if ($to_days =~ /^\D+$/) {
-           my $str = "to_days is not integer.";
-           &msg($who,$str);
-           &ERROR($str);
-
-           return 1;
-       }
-
-       my @gmtime = gmtime(time());
-       my $daysec = ($gmtime[2]*60*60) + ($gmtime[1]*60) + ($gmtime[0]);
-       my $time   = ($to_days*24*60*60);
-
-       if ($to_days >= 0) {    # already passed.
-           $time  += $daysec;
-           $reply  = "T plus ". &Time2String($time) ." ago";
-       } else {                # time to go.
-           $time   = -$time - $daysec;
-           $reply  = "T minus ". &Time2String($time);
-       }
-       $reply    .= ", \002(\002$desc{$query}\002)\002 at $dayname, $monname $day $year";
-
-       &performStrictReply($reply .".");
-       return 1;
-    } else {                           # no argument.
-       my $prefix = "Countdown list ";
-
-       &performStrictReply( &formListReply(0, $prefix, sort keys %date) );
-
-       return 1;
-    }
-}
-
-1;
diff --git a/src/Modules/countdown.pl b/src/Modules/countdown.pl
new file mode 100644 (file)
index 0000000..04230c3
--- /dev/null
@@ -0,0 +1,95 @@
+#
+# countdown.pl: Count down to a particular date.
+#       Author: dms
+#      Version: v0.1 (20000104)
+#      Created: 20000104
+#
+
+use strict;
+
+#use vars qw();
+
+sub countdown {
+    my ($query) = @_;
+    my $file = "$bot_base_dir/$param{'ircUser'}.countdown";
+    my (%date, %desc);
+    my $reply;
+
+    if (!open(IN,$file)) {
+       &ERROR("cannot open $file.");
+       return 0;
+    }
+
+    while (<IN>) {
+       chop;
+       s/[\s\t]+/ /g;
+
+       if (/^(\d{8}) (\S+) (.*)$/) {
+           $date{$2} = $1;
+           $desc{$2} = $3;
+       }
+    }
+    close IN;
+
+    if (defined $query) {                      # argument.
+       if (!exists $date{$query}) {
+           &msg($who,"error: $query is not in my countdown list.");
+           return 0;
+       }
+
+       $date{$query} =~ /^(\d{4})(\d{2})(\d{2})$/;
+       my($year,$month,$day) = ($1,$2,$3);
+       my $sqldate = "$1-$2-$3";
+
+       ### SQL SPECIFIC.
+       my ($to_days,$dayname,$monname);
+
+       if ($param{'DBType'} =~ /^mysql|sqlite$/i) {
+           $to_days = (&sqlRawReturn("SELECT TO_DAYS(NOW()) - TO_DAYS('$sqldate')"))[0];
+           $dayname = (&sqlRawReturn("SELECT DAYNAME('$sqldate')"))[0];
+           $monname = (&sqlRawReturn("SELECT MONTHNAME('$sqldate')"))[0];
+
+       } elsif ($param{'DBType'} =~ /^pgsql$/i) {
+           $to_days = (&sqlRawReturn("SELECT date_trunc('day',
+                               'now'::timestamp - '$sqldate')"))[0];
+           $dayname = qw(Sun Mon Tue Wed Thu Fri Sat)[(&sqlRawReturn("SELECT extract(dow from timestamp '$sqldate')"))[0]];
+           $monname = qw(BAD Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)[(&sqlRawReturn("SELECT extract(month from timestamp '$sqldate')"))[0]];
+
+       } else {
+           &ERROR("countdown: invalid DBType " . $param{'DBType'} . ".");
+           return 1;
+       }
+
+       if ($to_days =~ /^\D+$/) {
+           my $str = "to_days is not integer.";
+           &msg($who,$str);
+           &ERROR($str);
+
+           return 1;
+       }
+
+       my @gmtime = gmtime(time());
+       my $daysec = ($gmtime[2]*60*60) + ($gmtime[1]*60) + ($gmtime[0]);
+       my $time   = ($to_days*24*60*60);
+
+       if ($to_days >= 0) {    # already passed.
+           $time  += $daysec;
+           $reply  = "T plus ". &Time2String($time) ." ago";
+       } else {                # time to go.
+           $time   = -$time - $daysec;
+           $reply  = "T minus ". &Time2String($time);
+       }
+       $reply    .= ", \002(\002$desc{$query}\002)\002 at $dayname, $monname $day $year";
+
+       &performStrictReply($reply .".");
+       return 1;
+    } else {                           # no argument.
+       my $prefix = "countdown list ";
+
+       &performStrictReply( &formListReply(0, $prefix, sort keys %date) );
+
+       return 1;
+    }
+}
+
+1;
index 2070d674d67bfd0cb2cc023df81159e3401a59f7..453b24b4aafa39d4abd2839ca9d602f19d5abbfe 100644 (file)
@@ -25,7 +25,7 @@ if ($@) {
        "babelfish"     => "babelfish.pl",
        "botmail"       => "botmail.pl",
        "BZFlag"        => "BZFlag.pl",
-       "countdown"     => "Countdown.pl",
+       "countdown"     => "countdown.pl",
        "debian"        => "Debian.pl",
        "debianExtra"   => "DebianExtra.pl",
        "dict"          => "Dict.pl",