]> git.donarmstrong.com Git - infobot.git/blobdiff - src/CommandStubs.pl
addrchar instead
[infobot.git] / src / CommandStubs.pl
index 7da444ec790176150a434ec4afa892d43285a9a2..6b0d77880c147d99274f916a9aec1edc6f0526ce 100644 (file)
@@ -3,7 +3,8 @@
 # WARN: this file does not reload on HUP.
 #
 
-# use strict;  # TODO
+# TODO:
+# use strict;
 
 use vars qw($who $msgType $conn $chan $message $ident $talkchannel
        $bot_version $babel_lang_regex $bot_data_dir);
@@ -13,14 +14,13 @@ use vars qw(%channels %cache %mask %userstats %myModules %cmdstats
 # FIX THE FOLLOWING:
 use vars qw($total $x $type $i $good);
 
-$babel_lang_regex = "fr|sp|es|po|pt|it|ge|de|gr|en|zh|ja|jp|ko|kr|ru";
+$babel_lang_regex = "de|ge|gr|el|sp|es|en|fr|it|ja|jp|ko|kr|nl|po|pt|ru|zh|zt";
 $w3search_regex   = "google";
 
 ### COMMAND HOOK IMPLEMENTATION.
 # addCmdHook("SECTION", 'TEXT_HOOK',
 #      (CODEREF        => 'Blah',
 #      Forker          => 1,
-#      CheckModule     => 1,                   # ???
 #      Module          => 'blah.pl'            # preload module.
 #      Identifier      => 'config_label',      # change to Config?
 #      Help            => 'help_label',
@@ -228,9 +228,15 @@ sub parseCmdHook {
 &addCmdHook("extra", 'weather', ('CODEREF' => 'Weather::Weather',
        'Identifier' => 'weather', 'Help' => 'weather',
        'Cmdstats' => 'weather', 'Forker' => 1) );
+&addCmdHook("extra", 'metar', ('CODEREF' => 'Weather::Metar',
+       'Identifier' => 'weather', 'Help' => 'weather',
+       'Cmdstats' => 'weather', 'Forker' => 1) );
 &addCmdHook("extra", 'bzflist', ('CODEREF' => 'BZFlag::list',
        'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
        'Forker' => 1) );
+&addCmdHook("extra", 'bzflist17', ('CODEREF' => 'BZFlag::list17',
+       'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
+       'Forker' => 1) );
 &addCmdHook("extra", 'bzfquery', ('CODEREF' => 'BZFlag::query',
        'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
        'Forker' => 1, 'Help' => 'bzflag') );
@@ -251,7 +257,12 @@ sub parseCmdHook {
 &addCmdHook("extra", 'httpdtype', ('CODEREF' => 'HTTPDtype::HTTPDtype',
        'Identifier' => 'httpdtype', 'Cmdstats' => 'httpdtype',
        'Forker' => 1) );
-
+&addCmdHook("extra", 'rss', ('CODEREF' => 'Rss::Rss',
+       'Identifier' => 'rss', 'Cmdstats' => 'rss',
+       'Forker' => 1, 'Help' => 'rss') );
+&addCmdHook("extra", 'wiki(pedia)?', ('CODEREF' => 'wikipedia::wikipedia',
+       'Identifier' => 'wikipedia', 'Cmdstats' => 'wikipedia',
+       'Forker' => 1, 'Help' => 'wikipedia') );
 ###
 ### END OF ADDING HOOKS.
 ###
@@ -645,6 +656,7 @@ sub lart {
     my ($target) = &fixString($_[0]);
     my $extra  = 0;
     my $chan   = $talkchannel;
+    my ($for);
 
     if ($msgType eq 'private') {
        if ($target =~ /^($mask{chan})\s+(.*)$/) {
@@ -657,6 +669,10 @@ sub lart {
            return;
        }
     }
+    if ($target =~ /^(.*)(\s+for\s+.*)$/) {
+       $target = $1;
+       $for    = $2;
+    }
 
     my $line = &getRandomLineFromFile($bot_data_dir. "/blootbot.lart");
     if (defined $line) {
@@ -665,6 +681,7 @@ sub lart {
        } else {
            $line =~ s/WHO/$target/g;
        }
+       $line .= $for if ($for);
        $line .= ", courtesy of $who" if ($extra);
 
        &action($chan, $line);
@@ -850,7 +867,7 @@ sub do_text_counters {
     if (!defined $arg or $arg =~ /^\s*$/) {
        # this is way fucking ugly.
 
-       # TODO convert $where to hash
+       # TODO: convert $where to hash
        my %hash = &sqlSelectColHash("stats", "nick,counter",
                        { },
                        $where." ORDER BY counter DESC LIMIT 3", 1
@@ -878,7 +895,7 @@ sub do_text_counters {
            &pSReply("zero counter for \037$type\037.");
        }
     } else {
-       # TODO convert $where to hash and use a sqlSelect
+       # TODO: convert $where to hash and use a sqlSelect
        my $x = (&sqlRawReturn("SELECT SUM(counter) FROM stats".
                        " WHERE $where AND nick=".&sqlQuote($arg) ))[0];
 
@@ -888,7 +905,7 @@ sub do_text_counters {
        }
 
        # defined.
-       # TODO convert $where to hash
+       # TODO: convert $where to hash
        my @array = &sqlSelect("stats", "nick", undef,
                        $where." ORDER BY counter", 1
        );
@@ -962,7 +979,7 @@ sub textstats_main {
        return;
     }
 
-    # TODO add nick to where_href
+    # TODO: add nick to where_href
     my %hash = &sqlSelectColHash("stats", "type,counter",
                $where_href, " AND nick=".&sqlQuote($arg)
     );
@@ -975,7 +992,7 @@ sub textstats_main {
     foreach (keys %hash) {
        &DEBUG("_stats: hash{$_} => $hash{$_}");
        # ranking.
-       # TODO convert $where to hash
+       # TODO: convert $where to hash
        my @array = &sqlSelect("stats", "nick", undef,
                $where." ORDER BY counter", 1);
        $good = 0;
@@ -1009,7 +1026,11 @@ sub textstats_main {
     &pSReply("\002$arg\002 has said \037$type\037 \002$x\002 times (\002$pct1\002 %)$xtra");
 }
 
-sub nullski { my ($arg) = @_; return unless (defined $arg);
-       foreach (`$arg`) { &msg($who,$_); } }
+sub nullski {
+    my ($arg) = @_;
+    return unless (defined $arg);
+    # big security hole
+    #foreach (`$arg`) { &msg($who,$_); }
+}
 
 1;