]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Factoids/Reply.pl
explicit $chan for getChanConfDefault
[infobot.git] / src / Factoids / Reply.pl
index efd83e7db6f31417e41f281d180892e322389b19..aedf3cbdb12eeb9c995b7dc694402e8ac1704b74 100644 (file)
@@ -27,22 +27,20 @@ sub getReply {
     }
 
     $message =~ tr/A-Z/a-z/;
-    $message =~ s/^cmd:/CMD:/;
 
-    if (&IsChanConf("factoidSearch")) {
-       @searches = split(/\s+/, &getChanConf("factoidSearch"));
-    } else {
-       @searches = ('_default');
-    }
-
-    if ($literal and $message =~ /^_default\s+/) {
+    @searches = split(/\s+/, &getChanConfDefault('factoidSearch', '_default', $chan));
+    &::DEBUG("factoidSearch: $chan is: " . join(':', @searches));
+    # requesting the _default one, ignore factoidSearch
+    if ($message =~ /^_default\s+/) {
        @searches = ('_default');
        $message =~ s/^_default\s+//;
     }
 
     # check for factoids with each prefix
     foreach $search (@searches) {
-       if ($search eq '_default') {
+       if ($search eq '$chan') {
+           $factoid = "$chan $message";
+       } elsif ($search eq '_default') {
            $factoid = $message;
        } else {
            $factoid = "$search $message";
@@ -151,7 +149,7 @@ sub getReply {
     ###
 
     # don't evaluate if it has factoid arguments.
-    if ($message =~ /^CMD:/i) {
+    if ($message =~ /^cmd:/i) {
        &status("Reply: not doing substVars (eval dollar vars)");
     } else {
        $reply = &substVars($reply,1);
@@ -251,6 +249,19 @@ sub SARit {
     }
     &status("Reply.pl: $done SARs done.") if ($done);
 
+    # <URL></URL> type
+    #
+    while ($txt =~ /<URL>(.*)<\/URL>/){
+       &status("we have to norm this <URL></URL> stuff, SARing");
+       my $foobar = $1;
+       if ($foobar =~ m/(http:\/\/[^?]+)\?(.*)/){
+           my ($pig1,$pig2) = ($1,$2);
+           &status("SARing using URLencode");
+           $pig2=~s/([^\w])/sprintf("%%%02x",ord($1))/gie;
+           $foobar=$pig1."?".$pig2;
+       }
+       $txt =~ s/<URL>(.*)<\/URL>/$foobar/;
+    }
     return $txt;
 }