X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=7500d17de8bce5ed5ad51e00218350ce50463cfe;hb=8b5b39174f15921598327418562a96219d6abfd5;hp=843bccdc81d15c4b24a85ed9d0e024a62884dc1e;hpb=a9b009e5b767bcf7d9ce522902635d1d462f2bab;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 843bccdc..7500d17d 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -9,10 +9,11 @@ package DXCommandmode; -use POSIX; +#use POSIX; @ISA = qw(DXChannel); +use POSIX qw(:math_h); use DXUtil; use DXChannel; use DXUser; @@ -202,12 +203,23 @@ sub start my $info = Route::cluster(); $self->send("Cluster:$info"); - # send prompts and things + # send prompts for qth, name and things $self->send($self->msg('namee1')) if !$user->name; $self->send($self->msg('qthe1')) if !$user->qth; $self->send($self->msg('qll')) if !$user->qra || (!$user->lat && !$user->long); $self->send($self->msg('hnodee1')) if !$user->qth; $self->send($self->msg('m9')) if DXMsg::for_me($call); + + # send out any buddy messages for other people that are online + foreach my $call (@{$user->buddies}) { + my $ref = Route::User::get($call); + if ($ref) { + foreach my $node (@{$ref->parent}) { + $self->send($self->msg($node eq $main::mycall ? 'loginb' : 'loginbn', $call, $node)); + } + } + } + $self->lastmsgpoll($main::systime); $self->prompt; } @@ -574,7 +586,7 @@ sub disconnect # send info to all logged in thingies $self->tell_login('logoutu'); - $self->tell_login('logoutb'); + $self->tell_buddies('logoutb'); LogDbg('DXCommand', "$call disconnected");