##
##
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
use vars qw($query $reply $finalQMark $nuh $result $talkok $who $nuh);
use vars qw(%bots %forked);
# valid factoid.
if ($query =~ s/[!.]$//) {
- push(@query,$query);
+ push(@query, $query);
}
$x = &normquery($query);
my $qregex = join '|', keys %{ $lang{'qWord'} };
- # what's whats => what is; who'?s => who is, etc
- $query =~ s/ ($qregex)\'?s / $1 is /i;
- if ($query =~ s/\s+($qregex)\s+//i) { # check for question word
+ # purge prefix question string.
+ if ($query =~ s/^ ($qregex)//i) {
$questionWord = lc($1);
}
if ($questionWord eq "" and $finalQMark and $addressed) {
$questionWord = "where";
}
+ $query =~ s/^\s+|\s+$//g; # bleh. hacked.
+ push(@query, $query) if ($query ne $x);
if (&IsChanConf("factoidArguments")) {
$result = &factoidArgs($query[0]);
while ($result =~ /^see( also)? (.*?)\.?$/) {
my $link = $2;
- if (grep /^$link$/i, @link) {
+ # #debian@OPN was having problems with libstdc++ factoid
+ # redirection :) 20021116. -xk.
+ # hrm... allow recursive loops... next if statement handles
+ # that.
+ if (grep /^\Q$link\E$/i, @link) {
&status("recursive link found; bailing out.");
last;
}
if (scalar @link >= 5) {
- &status("recursive link limit reached.");
+ &status("recursive link limit (5) reached.");
last;
}
next if (/#DEL#/); # deleted.
s/^CMD: //i;
-# &DEBUG("factarg: ''$str' =~ /^$_\$/'");
+# &DEBUG("factarg: '$str' =~ /^$_\$/");
my $arg = $_;
# todo: <greycat> ~punish apt for (Eating) (Parentheses)
}
# update stats.
- my $count = &getFactInfo($q, "requested_count") || 0;
- $count++;
- &setFactInfo($q, "requested_by", $nuh);
- &setFactInfo($q, "requested_time", time());
- &setFactInfo($q, "requested_count", $count);
+ if (0) { # old.
+ my $count = &getFactInfo($q, "requested_count") || 0;
+ $count++;
+ &setFactInfo($q, "requested_by", $nuh);
+ &setFactInfo($q, "requested_time", time());
+ &setFactInfo($q, "requested_count", $count);
+ } else {
+ &sqlUpdate("factoids", { factoid_key => $q }, {
+ requested_by => $nuh,
+ requested_time => time(),
+ -requested_count => "requested_count+1",
+ } );
+ }
+
# end of update stats.
$result = $r;