X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Ftalk.pl;h=4002c82845e6cead2abae81d05fce91cf8e59846;hb=2a65593f255071174485afba2ef7f7c27e235f75;hp=21adc556b8bc1e98c173aae8172b32de6446b4d9;hpb=171a7a0bf86e9732a33c7829e808129ec01c51c2;p=spider.git diff --git a/cmd/talk.pl b/cmd/talk.pl index 21adc556..4002c828 100644 --- a/cmd/talk.pl +++ b/cmd/talk.pl @@ -12,6 +12,9 @@ my $to = uc $argv[0]; my $via; my $from = $self->call(); +# have we a callsign and some text? +return (1, $self->msg('e8')) if @argv < 2; + if ($argv[1] eq '>') { $via = uc $argv[2]; $line =~ s/^$argv[0]\s+>\s+$argv[2]\s*//; @@ -19,13 +22,19 @@ if ($argv[1] eq '>') { $line =~ s/^$argv[0]\s*//; } +my $call = $via ? $via : $to; +my $ref = DXCluster->get($call); +return (1, "$call not visible on the cluster") if !$ref; + my $dxchan = DXCommandmode->get($to); # is it for us? if ($dxchan && $dxchan->is_user) { $dxchan->send("$to de $from $line"); + Log('talk', $to, $from, $main::mycall, $line); } else { $line =~ s/\^//og; # remove any ^ characters my $prot = DXProt::pc10($from, $to, $via, $line); DXProt::route($via?$via:$to, $prot); + Log('talk', $to, $from, $via?$via:$main::mycall, $line); } return (1, ());