# Created: 20010906
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
+
+use vars qw(%param %cache %lang %cmdstats %bots);
+use vars qw($message $who $addressed $chan $h $nuh $ident $msgType
+ $correction_plausable);
# Usage: &validFactoid($lhs,$rhs);
sub validFactoid {
# Created: 19991020
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
#####
# Usage: &setFactInfo($faqtoid, $key, $val);
# Version: 1997
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
sub normquery {
my ($in) = @_;
# rhs - factoid message.
##
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
use vars qw($msgType $uh $lastWho $ident);
use vars qw(%lang %lastWho);
## - null for confused.
##
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
sub doStatement {
my($in) = @_;
# Created: 1997
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
sub update {
my($lhs, $mhs, $rhs) = @_;
# Created: 19991221
#
-#use strict;
+use strict;
+
+use vars qw(%lang %ircPort);
+use vars qw(@ircServers);
+use vars qw($bot_config_dir);
# File: Language support.
sub loadLang {
# NOTE: Based on code by Kevin Lenzo & Patrick Cole (c) 1997
#
-if (&IsParam("useStrict")) { use strict; }
+use strict;
-use vars qw($nickserv);
-$nickserv = 0;
+use vars qw(%floodjoin %nuh %dcc %cache %channels %param %mask
+ %chanconf %orig %ircPort %ircstats %last %netsplit);
+use vars qw($irc $nickserv $ident $conn $msgType $who $talkchannel
+ $addressed);
+use vars qw($notcount $nottime $notsize $msgcount $msgtime $msgsize
+ $pubcount $pubtime $pubsize);
+use vars qw($b_blue $ob);
+use vars qw(@joinchan @ircServers);
# static scalar variables.
$mask{ip} = '(\d+)\.(\d+)\.(\d+)\.(\d+)';
$mask{nick} = "[$isnick1]{1}[$isnick1$isnick2]*";
$mask{nuh} = '\S*!\S*\@\S*';
+$nickserv = 0;
+
sub ircloop {
my $error = 0;
my $lastrun = 0;
# Usage: &joinNextChan();
sub joinNextChan {
if (scalar @joinchan) {
- $chan = shift @joinchan;
+ my $chan = shift @joinchan;
&joinchan($chan);
if (my $i = scalar @joinchan) {
sub IsNickInAnyChan {
my ($nick) = @_;
+ my $chan;
foreach $chan (keys %channels) {
next unless (grep /^\Q$nick\E$/i, keys %{ $channels{$chan}{''} });
sub closeDCC {
# &DEBUG("closeDCC called.");
+ my $type;
foreach $type (keys %dcc) {
next if ($type ne uc($type));
+ my $nick;
foreach $nick (keys %{ $dcc{$type} }) {
next unless (defined $nick);
&status("DCC CHAT: closing DCC $type to $nick.");
# Created: 20000117
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
use POSIX qw(strftime);
use vars qw(%sched);
&factoidCheck(2); # takes a couple of seconds on a 486. defer it
&newsFlush(1);
+ # todo: squeeze this into a one-liner.
# my $count = map { exists $sched{$_}{TIME} } keys %sched;
my $count = 0;
foreach (keys %sched) {
-# next unless (exists $sched{$_}{TIME});
my $time = $sched{$_}{TIME};
next unless (defined $time and $time > time());
use IO::Socket;
use strict;
+#use vars qw(PF_INET);
+
my $server = "dict.org"; # need a specific host||ip.
-my $port = 2628;
-my $proto = getprotobyname('tcp');
###local $SIG{ALRM} = sub { die "alarm\n" };
sub Dict {
my ($query) = @_;
-### return unless &::loadPerlModule("IO::Socket");
- my $socket = new IO::Socket;
+# return unless &::loadPerlModule("IO::Socket");
+ my $socket = new IO::Socket;
+ my $port = 2628;
+ my $proto = getprotobyname('tcp');
my @results;
for ($query) {
}
# connect.
+# TODO: make strict-safe constants... so we can defer IO::Socket load.
socket($socket, PF_INET, SOCK_STREAM, $proto) or return "error: socket: $!";
eval {
alarm 10;
# Created: 20020329
#
-#use strict;
+# use strict; # TODO
+
use Devel::Symdump;
sub symdumplog {
# infobot copyright (C) kevin lenzo 1997-98
#
-if (&IsParam("useStrict")) { use strict; }
+use strict;
+
+use vars qw($message);
my %digits = (
"first", "1",
# Text - Actual text.
###
-use vars qw($who $chan);
-
package News;
+use strict;
+
+use vars qw($who $chan);
+
sub Parse {
my($what) = @_;
$chan = undef;
$c = scalar keys %{ $::news{$chan} };
next unless ($c);
$cc++;
+ my $item;
foreach $item (sort keys %{ $::news{$chan} }) {
$c = scalar keys %{ $::news{$chan}{$item} };
$ci++;
print NEWS "$chan $item\n";
+ my $what;
foreach $what (sort keys %{ $::news{$chan}{$item} }) {
print NEWS " $what: $::news{$chan}{$item}{$what}\n";
}
$newest = $t if ($t > $newest);
if ($e > 1 and $e < $expire) {
$expire = $e;
- $eno = &newsS2N($item);
+ &::DEBUG("before newsS2N($_)");
+ $eno = &newsS2N($_);
+ &::DEBUG("after newsS2N($_) == $eno");
}
}
my $timestr = &::Time2String(time() - $newest);
# Created: 19991008
#
-### use strict;
+use strict;
+
+use vars qw(%channels %param);
+use vars qw($dbh $found $ident);
sub rootWarn {
my ($nick,$user,$host,$chan) = @_;
#
use strict;
-use vars qw(%topiccmp);
-no strict "refs"; ### FIXME!!!
+use vars qw(%topiccmp %topic %channels %orig);
+use vars qw($who $chan $conn $uh $ident);
###############################
##### INTERNAL FUNCTIONS
package Units;
+# use strict; # TODO
+
#$DEBUG_p = 1;
#$DEBUG_o = 1;
#$DEBUG_l = 1;
# Created: 19990925.
#
-# use strict;
+# use strict; # TODO
my $uptimerecords = 3;
package zippy;
+use strict;
+
my $no_zippy; # Can't think of any situation in which this won't work..
sub zippy::get {
# => use the command hooks system aswell
#
-use strict;
-
package Insult;
+use strict;
+
sub Insult {
my ($insultwho) = @_;
return unless &::loadPerlModule("Net::Telnet");
# We reply publicly or privately, depending how we were called
+use strict;
+
my $no_zfi;
BEGIN {
my $res_return = 5;
my $ua = new LWP::UserAgent;
- $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam("httpProxy"));
+ $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam("httpProxy"));
$ua->timeout(10);
sub query {
my ($args) = @_;
&::performStrictReply(&queryText($args));
- return;
+ return;
}
1;
my $no_zsi;
+use strict;
+
BEGIN {
$no_zsi = 0;
eval "use LWP::UserAgent";
my $res_return = 5;
my $ua = new LWP::UserAgent;
- $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam("httpProxy"));
+ $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam("httpProxy"));
$ua->timeout(10);
sub query {
my ($args) = @_;
&::performStrictReply(&queryText($args));
- return;
+ return;
}
1;
# Created: 20000309
#
-#use strict;
-use vars qw(%ftp);
+use strict;
+
+use vars qw(%ftp %param);
# Usage: &ftpGet($host,$dir,$file,[$lfile]);
sub ftpGet {
### LWP.
# Usage: &getURL($url, [$post]);
+# todo: rename this to getHTTP
sub getURL {
my ($url,$post) = @_;
my ($ua,$res,$req);
# process the incoming message
#
-#use strict;
+use strict;
+
+use vars qw($who $msgType $addressed $message $ident $user $host $chan
+ $learnok $talkok $force_public_reply $noreply $addrchar
+ $literal $addressedother $userHandle $lobotomized);
+use vars qw(%channels %users %param %cache %chanconf %mask %orig %lang
+ );
sub process {
$learnok = 0; # Able to learn?
# karma. set...
if ($message =~ /^(\S+)(--|\+\+)\s*$/ and $addressed) {
return '' unless (&hasParam("karma"));
+ # well... since it is policy to do bot functions before factoids
+ # karma gets hit if, for example, "g++" is issued.
+ # only way to request it is to put a question mark at the end.
my($term,$inc) = (lc $1,$2);
return;
}
- my $karma = &dbGet("stats", "counter", "nick=".&dbQuote($term).
- " AND type='karma'") || 0;
+ my $karma = &dbGet("stats", "counter",
+ "nick=".&dbQuote($term)." AND type='karma'") || 0;
if ($inc eq '++') {
$karma++;
} else {
}
&dbSet("stats",
- { nick => $term, type => "karma" },
- { counter => $karma }
+ { nick => $term, type => "karma" }, # WHERE
+# { counter => $karma } # WHAT
+ { -counter => "counter+1" }
);
return;
# Created: 20000124
#
+# use strict; # TODO
+
use POSIX qw(_exit);
sub openSHM {
my $size = 2000;
if (&IsParam("noSHM")) {
- &status("Created shared memory: disabled. [bot may become unreliable]");
+ &status("Shared memory: Disabled. WARNING: bot may become unreliable");
return 0;
}
# Created: 20000107
#
-#use strict;
-use vars qw($message $arg $qWord $verb $lobotomized);
-use vars qw(%channels %chanstats %cmdstats);
+use strict;
+use vars qw($message $arg $qWord $verb $lobotomized $who $result $chan
+ $conn $msgType $query $talkchannel $ident $memusage);
+use vars qw(%channels %chanstats %cmdstats %count %ircstats %param
+ %cache %mask %userstats %hooks_main);
###
### Start of command hooks for UserExtra.
&addCmdHook("main", 'factinfo', ('CODEREF' => 'factinfo',
'Cmdstats' => 'Factoid Info', Module => 'factoids', ) );
&addCmdHook("main", 'factstats?', ('CODEREF' => 'factstats',
- 'Cmdstats' => 'Factoid Statistics', Help => "factstats",
+ 'Cmdstats' => 'Factoid Stats', Help => "factstats",
Forker => 1, 'Identifier' => 'factoids', ) );
&addCmdHook("main", 'help', ('CODEREF' => 'help',
'Cmdstats' => 'Help', ) );
#
# interface.pl:
-#
# Author:
#
-#use strict;
+# use strict; # TODO
sub whatInterface {
if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {