]> git.donarmstrong.com Git - infobot.git/commitdiff
#channelname factoid overrides factoid in a channel
authortimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 9 Jul 2004 21:14:15 +0000 (21:14 +0000)
committertimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 9 Jul 2004 21:14:15 +0000 (21:14 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@997 c11ca15a-4712-0410-83d8-924469b57eb5

src/Factoids/Reply.pl

index 4c8a44dc864646341a882d65e6a256e9e4196dae..780881b9edea806ddb99e94d51571bc25e5e88c4 100644 (file)
@@ -29,17 +29,34 @@ sub getReply {
     $message =~ tr/A-Z/a-z/;
     $message =~ s/^cmd:/CMD:/;
 
-    my ($count, $fauthor, $result) = &sqlSelect("factoids",
-       "requested_count,created_by,factoid_value",
-       { factoid_key => $message }
-    );
+    my ($count, $fauthor, $result, $factoid);
+
+    if (!$literal and &IsChanConf("channelFactoids")) {
+       # check for factoids specific to this channel
+       ($count, $fauthor, $result) = &sqlSelect("factoids",
+           "requested_count,created_by,factoid_value",
+           { factoid_key => "$chan $message" }
+       );
+    }
+
+    if ($result) {
+       # got channel specific reply above
+       $factoid="$chan $message"
+    } else {
+       # no channel specific factoid was requested / found
+       ($count, $fauthor, $result) = &sqlSelect("factoids",
+           "requested_count,created_by,factoid_value",
+           { factoid_key => $message }
+       );
+       $factoid=$message if ($result);
+    }
 
     if ($result) {
        $lhs = $message;
        $mhs = "is";
        $rhs = $result;
 
-       return "$lhs $mhs $rhs" if ($literal);
+       return "\"$factoid\" $mhs \"$rhs\"" if ($literal);
     } else {
        return '';
     }
@@ -65,7 +82,7 @@ sub getReply {
        ### FIXME: old mysql doesn't support
        ### "requested_count=requested_count+1".
        $count++;
-       &sqlSet("factoids", {'factoid_key' => $lhs}, {
+       &sqlSet("factoids", {'factoid_key' => $factoid}, {
                requested_by    => $nuh,
                requested_time  => time(),
                requested_count => $count