]> git.donarmstrong.com Git - infobot.git/blobdiff - src/CommandStubs.pl
more babelfish cleanup
[infobot.git] / src / CommandStubs.pl
index 5bedd95a17d7d34397ddd265c3276102b65d5cb6..a4746fb717b962a9e2acc549eba43dacab36a094 100644 (file)
@@ -7,21 +7,19 @@
 # use strict;
 
 use vars qw($who $msgType $conn $chan $message $ident $talkchannel
-       $bot_version $babel_lang_regex $bot_data_dir);
+       $bot_version $bot_data_dir);
 use vars qw(@vernick @vernicktodo);
 use vars qw(%channels %cache %mask %userstats %myModules %cmdstats
        %hooks_extra %lang %ver);
 # FIX THE FOLLOWING:
 use vars qw($total $x $type $i $good);
 
-$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',
@@ -185,8 +183,8 @@ sub parseCmdHook {
 &addCmdHook("extra", 'd?find', ('CODEREF' => 'Debian::DebianFind',
        'Forker' => 1, 'Identifier' => 'debian',
        'Cmdstats' => 'Debian Search', 'Help' => "find" ) );
-#&addCmdHook("extra", 'insult', ('CODEREF' => 'Insult::Insult',
-#      'Forker' => 1, 'Identifier' => 'insult', 'Help' => "insult" ) );
+&addCmdHook("extra", 'insult', ('CODEREF' => 'Insult::Insult',
+       'Forker' => 1, 'Identifier' => 'insult', 'Help' => "insult" ) );
 &addCmdHook("extra", 'kernel', ('CODEREF' => 'Kernel::Kernel',
        'Forker' => 1, 'Identifier' => 'kernel',
        'Cmdstats' => 'Kernel', 'NoArgs' => 1) );
@@ -196,9 +194,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',
@@ -213,8 +211,8 @@ sub parseCmdHook {
        'Identifier' => 'rootWarn', 'Module' => 'rootwarn') );
 &addCmdHook("extra", 'seen', ('CODEREF' => 'seen', 'Identifier' =>
        'seen') );
-&addCmdHook("extra", 'dict', ('CODEREF' => 'Dict::Dict',
-       'Identifier' => 'dict', 'Help' => 'dict',
+&addCmdHook("extra", 'Dict', ('CODEREF' => 'Dict::Dict',
+       'Identifier' => 'Dict', 'Help' => 'dict',
        'Forker' => 1, 'Cmdstats' => 'Dict') );
 &addCmdHook("extra", 'slashdot', ('CODEREF' => 'Slashdot::Slashdot',
        'Identifier' => 'slashdot', 'Forker' => 1,
@@ -233,14 +231,14 @@ sub parseCmdHook {
        'Identifier' => 'weather', 'Help' => 'weather',
        'Cmdstats' => 'weather', 'Forker' => 1) );
 &addCmdHook("extra", 'bzflist', ('CODEREF' => 'BZFlag::list',
-       'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
+       'Identifier' => 'BZFlag', 'Cmdstats' => 'BZFlag',
        'Forker' => 1) );
 &addCmdHook("extra", 'bzflist17', ('CODEREF' => 'BZFlag::list17',
-       'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
+       'Identifier' => 'BZFlag', 'Cmdstats' => 'BZFlag',
        'Forker' => 1) );
 &addCmdHook("extra", 'bzfquery', ('CODEREF' => 'BZFlag::query',
-       'Identifier' => 'bzflag', 'Cmdstats' => 'BZFlag',
-       'Forker' => 1, 'Help' => 'bzflag') );
+       'Identifier' => 'BZFlag', 'Cmdstats' => 'BZFlag',
+       'Forker' => 1) );
 &addCmdHook("extra", 'zfi', ('CODEREF' => 'zfi::query',
        'Identifier' => 'zfi', 'Cmdstats' => 'zfi',
        'Forker' => 1) );
@@ -255,12 +253,21 @@ sub parseCmdHook {
        'Forker' => 1) );
 &addCmdHook("extra", '(botmail|message)', ('CODEREF' => 'botmail::parse',
        'Identifier' => 'botmail', 'Cmdstats' => 'botmail') );
-&addCmdHook("extra", 'httpdtype', ('CODEREF' => 'HTTPDtype::HTTPDtype',
-       'Identifier' => 'httpdtype', 'Cmdstats' => 'httpdtype',
+&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') );
+&addCmdHook("extra", 'page', ('CODEREF' => 'pager::page',
+       'Identifier' => 'pager', 'Cmdstats' => 'pager',
+       'Forker' => 1, 'Help' => 'page') );
+&addCmdHook("extra", '?:babel(?:fish)?|x|xlate|translate', ('CODEREF' => 'babelfish::babelfish',
+       'Identifier' => 'babelfish', 'Cmdstats' => 'babelfish',
+       'Forker' => 1, 'Help' => 'babelfish') );
 ###
 ### END OF ADDING HOOKS.
 ###
@@ -272,25 +279,6 @@ sub Modules {
        return;
     }
 
-    # babel bot: Jonathan Feinberg++
-    if ($message =~ m{
-               ^\s*
-               (?:babel(?:fish)?|x|xlate|translate)
-               \s+
-               ($babel_lang_regex)\w*  # from language?
-               \s+
-               ($babel_lang_regex)\w*  # to language?
-               \s*
-               (.+)                    # The phrase to be translated
-    }xoi) {
-       return unless (&hasParam("babelfish"));
-
-       &Forker("babelfish", sub { &babel::babelfish(lc $1, lc $2, $3); } );
-
-       $cmdstats{'BabelFish'}++;
-       return;
-    }
-
     my $debiancmd       = 'conflicts?|depends?|desc|file|(?:d)?info|provides?';
     $debiancmd         .= '|recommends?|suggests?|maint|maintainer';
 
@@ -654,6 +642,7 @@ sub lart {
     my ($target) = &fixString($_[0]);
     my $extra  = 0;
     my $chan   = $talkchannel;
+    my ($for);
 
     if ($msgType eq 'private') {
        if ($target =~ /^($mask{chan})\s+(.*)$/) {
@@ -666,6 +655,10 @@ sub lart {
            return;
        }
     }
+    if ($target =~ /^(.*)(\s+for\s+.*)$/) {
+       $target = $1;
+       $for    = $2;
+    }
 
     my $line = &getRandomLineFromFile($bot_data_dir. "/blootbot.lart");
     if (defined $line) {
@@ -674,6 +667,7 @@ sub lart {
        } else {
            $line =~ s/WHO/$target/g;
        }
+       $line .= $for if ($for);
        $line .= ", courtesy of $who" if ($extra);
 
        &action($chan, $line);