print "Chess engine ready.\n";
# now talk to FICS
-my $t = Net::Telnet->new(Timeout => 10, Prompt => '/fics% /');
-$t->input_log(\*FICSLOG);
-$t->open($remoteglotconf::server);
-$t->print($remoteglotconf::nick);
-$t->waitfor('/Press return to enter the server/');
-$t->cmd("");
-
-# set some options
-$t->cmd("set shout 0");
-$t->cmd("set seek 0");
-$t->cmd("set style 12");
-
-my $ev1 = AnyEvent->io(
- fh => fileno($t),
- poll => 'r',
- cb => sub { # what callback to execute
- while (1) {
- my $line = $t->getline(Timeout => 0, errmode => 'return');
- return if (!defined($line));
-
- chomp $line;
- $line =~ tr/\r//d;
- handle_fics($line);
+my ($t, $ev1);
+if (defined($remoteglotconf::server)) {
+ $t = Net::Telnet->new(Timeout => 10, Prompt => '/fics% /');
+ $t->input_log(\*FICSLOG);
+ $t->open($remoteglotconf::server);
+ $t->print($remoteglotconf::nick);
+ $t->waitfor('/Press return to enter the server/');
+ $t->cmd("");
+
+ # set some options
+ $t->cmd("set shout 0");
+ $t->cmd("set seek 0");
+ $t->cmd("set style 12");
+
+ $ev1 = AnyEvent->io(
+ fh => fileno($t),
+ poll => 'r',
+ cb => sub { # what callback to execute
+ while (1) {
+ my $line = $t->getline(Timeout => 0, errmode => 'return');
+ return if (!defined($line));
+
+ chomp $line;
+ $line =~ tr/\r//d;
+ handle_fics($line);
+ }
}
- }
-);
+ );
+}
if (defined($remoteglotconf::target)) {
if ($remoteglotconf::target =~ /^http:/) {
fetch_pgn($remoteglotconf::target);
- } else {
+ } elsif (defined($t)) {
$t->cmd("observe $remoteglotconf::target");
}
}
-print "FICS ready.\n";
+if (defined($t)) {
+ print "FICS ready.\n";
+}
# Engine events have already been set up by Engine.pm.
EV::run;
# hour, the analysis/relay has most likely stopped
# and we should stop hogging server resources.
#
- $t->cmd("date");
+ if (defined($t)) {
+ $t->cmd("date");
+ }
}
sub parse_infos {