spider/cmd/rcmd.pl

36 lines
746 B
Perl
Raw Normal View History

#
# rcmd command
#
# Copyright (c) 1998 Dirk Koopman G1TLH
#
# $Id$
#
my $self = shift;
my $line = shift;
my ($call) = $line =~ /^\s*(\S+)/;
return (1, $self->msg('e5')) if $self->remotecmd;
# are we permitted?
return (1, $self->msg('e5')) if $self->priv < 6;
# is there a call?
1999-11-22 20:16:36 +00:00
return (1, $self->msg('e6')) unless $call;
# remove the callsign from the line
$line =~ s/^\s*$call\s+//;
# can we see it? Is it a node?
$call = uc $call;
my $noderef = DXCluster->get_exact($call);
1999-11-22 20:16:36 +00:00
unless ($noderef) {
$noderef = DXChannel->get($call);
$noderef = undef unless $noderef && $noderef->is_node;
1999-11-22 20:16:36 +00:00
}
return (1, $self->msg('e7', $call)) unless $noderef;
1999-11-22 20:16:36 +00:00
# rcmd it
DXProt::addrcmd($self, $call, $line);
return (1, $self->msg('rcmdo', $line, $call));