]> dxcluster.org Git - spider.git/blob - cmd/set/believe.pl
add set/believe code
[spider.git] / cmd / set / believe.pl
1 #
2 # Add a believable node - used to filter nodes as being believable
3 #
4 # Copyright (c) 2004 - Dirk Koopman
5 #
6 # $Id$
7 #
8
9 my ($self, $line) = @_;
10 my @args = split /\s+/, uc $line;
11 my $call;
12 my $node = shift @args;
13 my @out;
14 my @nodes;
15
16 return (1, $self->msg('e5')) if $self->priv < 6;
17 return (1, $self->msg('e22', $node)) unless is_callsign($node);
18 my $user = DXUser->get_current($node);
19 return (1, $self->msg('e13', $node)) unless $user->is_node;
20
21 foreach $call (@args) {
22         return (1, $self->msg('e22', $node)) unless is_callsign($call);
23
24         my $u = DXUser->get_current($call);
25         if ($u->is_node) {
26                         push @nodes, $call;
27         } else {
28                         push @out, $self->msg('e13', $call);
29         }
30 }
31
32 foreach $call (@nodes) {
33         $user->set_believe($call);
34         push @out, $self->msg('believes', $call, $node);
35 }
36 $user->put if @nodes;
37                 
38 return (1, @out);