From: Steinar H. Gunderson Date: Fri, 2 Sep 2016 16:03:51 +0000 (+0200) Subject: Add an option not to connect to FICS at all. X-Git-Url: https://git.sesse.net/?p=remoteglot;a=commitdiff_plain;h=91dbe2ca651a26bf0859ad191cf270eb13299fe5 Add an option not to connect to FICS at all. --- diff --git a/config.pm b/config.pm index 55f6d35..8050adf 100644 --- a/config.pm +++ b/config.pm @@ -4,7 +4,7 @@ package remoteglotconf; -our $server = "freechess.org"; +our $server = "freechess.org"; # undef to not connect to FICS. our $nick = "SesseBOT"; our $target = "GMCarlsen"; # FICS username or HTTP to a PGN file. diff --git a/remoteglot.pl b/remoteglot.pl index 6443c31..4b67496 100755 --- a/remoteglot.pl +++ b/remoteglot.pl @@ -94,40 +94,45 @@ if (defined($engine2)) { 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; @@ -423,7 +428,9 @@ sub handle_position { # 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 {