]> dxcluster.net Git - spider.git/blob - cmd/set/pinginterval.pl
allow pings if connected, but with no protocol visible yet
[spider.git] / cmd / set / pinginterval.pl
1 #
2 # set ping interval for this node
3 #
4 # Copyright (c) 1998 - Dirk Koopman
5 #
6 # $Id$
7 #
8
9 my ($self, $line) = @_;
10 my @args = split /\s+/, $line;
11 my $call;
12 my @out;
13 my $user;
14 my $val = int shift @args if @args;
15
16
17 return (1, $self->msg('e5')) if $self->priv < 9;
18 return (1, $self->msg('e14')) unless defined $val;
19 return (1, $self->msg('e12')) unless @args;
20
21 $val *= 60 if $val < 120;
22
23 foreach $call (@args) {
24         $call = uc $call;
25         my $dxchan = DXChannel->get($call);
26         $user = $dxchan->user if $dxchan;
27         $user = DXUser->get($call) unless $user;
28         if ($user) {
29                 unless ($user->sort eq 'A' || $user->sort eq 'S') {
30                         push @out, $self->msg('e13', $call);
31                         next;
32                 }
33                 $user->pingint($val);
34                 if ($dxchan) {
35                         $dxchan->pingint($val);
36                 } else {
37                         $user->close();
38                 }
39                 push @out, $self->msg('pingint', $call, $val);
40         } else {
41                 push @out, $self->msg('e3', "Set/Pinginterval", $call);
42         }
43 }
44 return (1, @out);