aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/TgLib/Logger.pm5
-rwxr-xr-xtgserver11
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/TgLib/Logger.pm b/lib/TgLib/Logger.pm
index fe5d6a9..17a111d 100644
--- a/lib/TgLib/Logger.pm
+++ b/lib/TgLib/Logger.pm
@@ -1,9 +1,9 @@
package TgLib::Logger;
use parent qw<Exporter>;
-our @EXPORT = qw<new debug info>;
+our @EXPORT = qw<new debug info warn>;
-my %level = (info => 1, debug => 2);
+my %level = (warn => 0, info => 1, debug => 2);
sub log_level {
my ($self, $msg, $level) = @_;
@@ -20,5 +20,6 @@ sub new {
sub debug { log_level(@_, 'debug'); }
sub info { log_level(@_, 'info'); }
+sub warn { log_level(@_, 'warn'); }
1;
diff --git a/tgserver b/tgserver
index 18a3a72..91283ba 100755
--- a/tgserver
+++ b/tgserver
@@ -48,12 +48,17 @@ while (1) {
print $progw $text;
close($progw);
my $response = join "", <$progr>;
+ chomp $response;
$logger->debug("'$text' -> @ARGV -> '$response'\n");
close($progr);
- open(my $send, "|-", "$FindBin::Bin/tgsend $chatid");
- print $send $response;
- close($send);
+ if ($response) {
+ open(my $send, "|-", "$FindBin::Bin/tgsend $chatid");
+ print $send $response;
+ close($send);
+ } else {
+ $logger->warn("Empty response, skipping\n");
+ }
}
close($recv);
}