]> git.donarmstrong.com Git - infobot.git/blobdiff - src/UserExtra.pl
- irctextcounters: add percentage to top3
[infobot.git] / src / UserExtra.pl
index 2467660d32be75ed35b5d04cbb6862a0c75f0da8..7079f6a7b96b4b13d7b6676d8b1e3756090d66c8 100644 (file)
@@ -33,8 +33,7 @@ use vars qw(%channels %chanstats %cmdstats);
        Help => 'tell', Identifier => 'allowTelling',
        Cmdstats => 'Tell') );
 &addCmdHook("main", 'news', ('CODEREF' => 'News::Parse', 
-       Module => 'news', 'Cmdstats' => 'News',
-       Identifier => 'news' ) );
+       Module => 'news', 'Cmdstats' => 'News' ) );
 &addCmdHook("main", 'countrystats', ('CODEREF' => 'countryStats', 
 #      Forker => "NULL",
  ) );
@@ -220,7 +219,8 @@ sub factstats {
 
 sub karma {
     my $target = lc( shift || $who );
-    my $karma  = &dbGet("stats", "counter", "nick='$target' and type='karma'") || 0;
+    my $karma  = &dbGet("stats", "counter", "nick=".
+                       &dbQuote($target)." AND type='karma'") || 0; 
 
     if ($karma != 0) {
        &pSReply("$target has karma of $karma");
@@ -288,7 +288,7 @@ sub tell {
 
     # this one catches most of them
     if ($args =~ /^(\S+) (-?)about (.*)$/i) {
-       $target         = lc $1;
+       $target         = $1;
        $tell_obj       = $3;
        $dont_tell_me   = ($2) ? 1 : 0;
 
@@ -296,19 +296,19 @@ sub tell {
        $query          = $tell_obj;
     } elsif ($args =~ /^(\S+) where (\S+) can (\S+) (.*)$/i) {
        # i'm sure this could all be nicely collapsed
-       $target         = lc $1;
+       $target         = $1;
        $tell_obj       = $4;
        $query          = $tell_obj;
 
     } elsif ($args =~ /^(\S+) (what|where) (.*?) (is|are)[.?!]*$/i) {
-       $target         = lc $1;
+       $target         = $1;
        $qWord          = $2;
        $tell_obj       = $3;
        $verb           = $4;
        $query          = "$qWord $verb $tell_obj";
 
     } elsif ($args =~ /^(.*?) to (\S+)$/i) {
-       $target         = lc $3;
+       $target         = $3;
        $tell_obj       = $2;
        $query          = $tell_obj;
     }
@@ -331,7 +331,7 @@ sub tell {
 #    }
 
     # self.
-    if ($target eq $ident) {   # lc?
+    if ($target =~  /^\Q$ident\E$/i) {
        &msg($who, "Isn't that a bit silly?");
        return;
     }
@@ -356,7 +356,7 @@ sub tell {
        $message        = $tell_obj;
        $done++ unless (&Modules());
 
-       &VERB("teel: setting old values of who and msgType.",2);
+       &VERB("tell: setting old values of who and msgType.",2);
        $who            = $oldwho;
        $msgType        = $oldmtype;
 
@@ -390,10 +390,11 @@ sub DNS {
     my $dns = shift;
     my($match, $x, $y, $result);
     my $pid;
+    $dns =~ s/^\s+|\s+$//g;
 
     if ($dns =~ /(\d+\.\d+\.\d+\.\d+)/) {
-       &status("DNS query by IP address: $in");
        $match = $1;
+       &status("DNS query by IP address: $match");
 
        $y = pack('C4', split(/\./, $match));
        $x = (gethostbyaddr($y, &AF_INET));
@@ -406,11 +407,11 @@ sub DNS {
 
     } else {
 
-       &status("DNS query by name: $in");
-       $x = join('.',unpack('C4',(gethostbyname($in))[4]));
+       &status("DNS query by name: $dns");
+       $x = join('.',unpack('C4',(gethostbyname($dns))[4]));
 
        if ($x !~ /^\s*$/) {
-           $result = $in." is ".$x;
+           $result = $dns." is ".$x;
        } else {
            $result = "I can\'t find that machine name";
        }
@@ -762,6 +763,7 @@ sub userCommands {
        my $startString = scalar(localtime $^T);
        my $upString    = &Time2String(time() - $^T);
        my $count       = &countKeys("factoids");
+
        $count{'Commands'}      = 0;
        foreach (keys %cmdstats) {
            $count{'Commands'} += $cmdstats{$_};
@@ -785,6 +787,16 @@ sub userCommands {
          "kB of memory."
        );
 
+       # todo: make dbGetColNiceHash().
+       my %hash = &dbGetCol("stats", "nick,counter", "type='cmdstats'".
+#                      " ORDER BY counter DESC LIMIT 3", 1);
+                       " ORDER BY counter DESC", 1);
+
+       foreach (keys %hash) {
+           &DEBUG("cmdstats: hash{$_} => $hash{$_}");
+       }
+       &DEBUG("end of cmdstats.");
+
        return;
     }