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

files/sample/blootbot.chan
files/sample/blootbot.config
src/CommandStubs.pl
src/Factoids/Core.pl
src/Modules/DumpVars.pl
src/Modules/UserDCC.pl
src/Modules/babelfish.pl
src/core.pl
src/modules.pl

index 0f45c3d63ced2edeeee2917a7c48040ade50dad2..4581423c5f8d5c538fea3cf9d552c8124e568b4c 100644 (file)
@@ -1,9 +1,6 @@
 #v1: blootbot -- blootbot -- written Wed Oct 30 03:12:44 2002
 
 #debian-bots
-    +allowTelling
-    +autojoin
-    +babelfish
     factoidDeleteDelay 7
     ircTextCounters heh hah :) ? hi lol
     +joinfloodCheck
     newsDefaultExpire 7
     +newsKeepRead
     +newsNotifyAll
-    +rootWarn
     rootWarnMode aggressive
 
 #botpark
     +autojoin
 
 _default
+    +allowTelling
+    +babelfish
     +allowConv
     +allowDNS
     +BZFlag
@@ -51,6 +49,7 @@ _default
     +quote
     randomFactoidInterval 60
     randomQuoteInterval 60
+    +rootWarn
     +search
     +seen
     seenFlushInterval 60
index b0420917548030ee4c6b7a1620808645641bf236..53ddc9767ceaa1a481879e98c156c69b52d0041f 100644 (file)
@@ -188,9 +188,6 @@ set backlog         24
 # [str] anything which requires LWP + http proxy.
 ###set httpProxy               http://HOSTNAME:PORT/
 
-# [0/1] babelfish translator.  jdf++.
-set babelfish          true
-
 # [0/1] offer free factoid cookies
 set cookie             true
 
@@ -300,7 +297,7 @@ set WIP                     0
 set useStrict          1
 
 # debugging...
-###set dumpvars                1
+###set DumpVars                1
 ###set dumpvarsAtExit  1
 # log to specific file or global log file.
 ###set dumpvarsLogFile dumpvars.log
index ec45ff7ef406f78e6a11657ab5609e7b4f437f7b..a4746fb717b962a9e2acc549eba43dacab36a094 100644 (file)
@@ -7,14 +7,13 @@
 # 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.
@@ -266,6 +265,9 @@ sub parseCmdHook {
 &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.
 ###
@@ -277,25 +279,6 @@ sub Modules {
        return;
     }
 
-    # babelfish 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 { &babelfish::babelfish(lc $1, lc $2, $3); } );
-
-       $cmdstats{'BabelFish'}++;
-       return;
-    }
-
     my $debiancmd       = 'conflicts?|depends?|desc|file|(?:d)?info|provides?';
     $debiancmd         .= '|recommends?|suggests?|maint|maintainer';
 
index 4c896d6d0acc7741492aee3d05da5d2034f0f19d..6c647309e06e49f8cc5e3d80a2b0a6ed2d1c124c 100644 (file)
@@ -37,7 +37,6 @@ sub validFactoid {
        /^learn / and last;             # teach. damn morons.
        /^tell (\S+) about / and last;  # tell.
        /\=\~/ and last;                # substituition.
-       /^\S+ to \S+ \S+/ and last;     # babelfish.
 
        /^\=/ and last;                 # botnick = heh is.
        /wants you to know/ and last;
index cbb3e3462208d727caa55a75a095bcde4b5fcc35..2e9fa976c304942ec856b74739e01ba9602dc013 100644 (file)
@@ -6,7 +6,8 @@
 #         NOTE: Ripped from ActivePerl "asp sample" example.
 #
 
-use strict;
+# FIXME
+#use strict;
 
 #use vars qw();
 
index 0b98bf2ad2bf533f5c514ccc796eec5e1d2452c9..c4db8454639a8405a67148ff3a0581ef95902f37 100644 (file)
@@ -115,7 +115,7 @@ sub userDCC {
     # dump variables.
     if ($message =~ /^dumpvars$/i) {
        return unless (&hasFlag("o"));
-       return unless (&IsParam("dumpvars"));
+       return unless (&IsParam("DumpVars"));
 
        &status("Dumping all variables...");
        &dumpallvars();
index 6d3b0927d9a1f972690379140761f777775472c0..3a2e9f019075d347f04ed30ca3c9f3de0ce62c59 100644 (file)
@@ -53,7 +53,7 @@ BEGIN {
   $lang_regex = join '|', keys %lang_code;
 }
 
-sub babelfish {
+sub babelfishParam {
     return '' if $no_babelfish;
   my ($from, $to, $phrase) = @_;
   &main::DEBUG("babelfish($from, $to, $phrase)");
@@ -94,37 +94,52 @@ sub translate {
   my $translated;
 
   if ($res->is_success) {
-      my $html = $res->content;
-      # This method subject to change with the whims of Altavista's design
-      # staff.
-      ($translated) = $html;
+    my $html = $res->content;
+    # This method subject to change with the whims of Altavista's design
+    # staff.
+    ($translated) = $html;
 
-      $translated =~ s/<[^>]*>//sg;
-      $translated =~ s/&nbsp;/ /sg;
-      $translated =~ s/\s+/ /sg;
-      #&main::DEBUG("$translated\n===remove <attributes>\n");
+    $translated =~ s/<[^>]*>//sg;
+    $translated =~ s/&nbsp;/ /sg;
+    $translated =~ s/\s+/ /sg;
+    #&main::DEBUG("$translated\n===remove <attributes>\n");
 
-      $translated =~ s/\s*Translate again.*//i;
-      &main::DEBUG("$translated\n===remove after 'Translate again'\n");
+    $translated =~ s/\s*Translate again.*//i;
+    &main::DEBUG("$translated\n===remove after 'Translate again'\n");
 
-      $translated =~ s/[^:]*?:\s*(Help\s*)?//s;
-      &main::DEBUG("len=" . length($translated) . " $translated\n===remove to first ':', optional Help\n");
+    $translated =~ s/[^:]*?:\s*(Help\s*)?//s;
+    &main::DEBUG("len=" . length($translated) . " $translated\n===remove to first ':', optional Help\n");
 
-      $translated =~ s/\n/ /g;
-      # FIXME: should we do unicode->iso (no. use utf8!)
+    $translated =~ s/\n/ /g;
+    # FIXME: should we do unicode->iso (no. use utf8!)
   } else {
-      $translated = ":("; # failure
+    $translated = ":("; # failure
   }
   $translated = "babelfish.pl: result too long, probably an error" if (length($translated) > 700);
 
-  &main::pSReply($translated);
+  return $translated
+}
+
+sub babelfish {
+  my ($message) = @_;
+  my $babel_lang_regex = "de|ge|gr|el|sp|es|en|fr|it|ja|jp|ko|kr|nl|po|pt|ru|zh|zt";
+  if ($message =~ m{
+    ($babel_lang_regex)\w*     # from language?
+    \s+
+    ($babel_lang_regex)\w*     # to language?
+    \s*
+    (.+)                       # The phrase to be translated
+  }xoi) {
+    &::performStrictReply(&babelfishParam(lc $1, lc $2, lc $3));
+  }
+  return;
 }
 
 if (0) {
     if (-t STDIN) {
-       #my $result = babelfish::babelfish('en','sp','hello world');
-       #my $result = babelfish::babelfish('en','sp','The cheese is old and moldy, where is the bathroom?');
-       my $result = babelfish::babelfish('en','gr','doesn\'t seem to translate things longer than 40 characters');
+       #my $result = babelfish::babelfish('en sp hello world');
+       #my $result = babelfish::babelfish('en sp The cheese is old and moldy, where is the bathroom?');
+       my $result = babelfish::babelfish('en gr doesn\'t seem to translate things longer than 40 characters');
        $result =~ s/; /\n/g;
        print "Babelfish says: \"$result\"\n";
     }
index 7a9f6312f12d5f7211bbb6038c2231b9ff026861..909ff37a1e78e5be732a747009a2e5604ed5ff3e 100644 (file)
@@ -130,7 +130,11 @@ sub doExit {
        &uptimeWriteFile()      if (&IsChanConf("uptime"));
        &sqlCloseDB();
        &closeSHM($shm);
-       &dumpallvars()          if (&IsParam("dumpvarsAtExit"));
+
+       if (&IsParam("dumpvarsAtExit")) {
+           &loadMyModule('DumpVars');
+           &dumpallvars();
+       }
        &symdumpAll()           if (&IsParam("symdumpAtExit"));
        &closeLog();
        &closeSQLDebug()        if (&IsParam("SQLDebug"));
index 6370369faca87425ddc2dcc4836b7160d816f86b..854a9e50bab1bafe43139c00762a0d8bf2e5eff1 100644 (file)
@@ -29,7 +29,7 @@ if ($@) {
        "debian"        => "Debian.pl",
        "debianExtra"   => "DebianExtra.pl",
        "Dict"          => "Dict.pl",
-       "dumpvars"      => "DumpVars.pl",
+       "DumpVars"      => "DumpVars.pl",
        "exchange"      => "Exchange.pl",
        "factoids"      => "Factoids.pl",
        "HTTPDtype"     => "HTTPDtype.pl",