projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow 't <call>' for swopping from announces as well
[spider.git]
/
perl
/
DXCommandmode.pm
diff --git
a/perl/DXCommandmode.pm
b/perl/DXCommandmode.pm
index ff173906bebef9945743b6e5eeb089bca430a886..6986a41aa60b1d8188dbc06d7ce4715a32eb35c1 100644
(file)
--- a/
perl/DXCommandmode.pm
+++ b/
perl/DXCommandmode.pm
@@
-32,7
+32,7
@@
use Sun;
use Internet;
use strict;
use Internet;
use strict;
-use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase $maxerrors %nothereslug);
+use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase $maxerrors %nothereslug
$suppress_ann_to_talk
);
%Cache = (); # cache of dynamically loaded routine's mod times
%cmd_cache = (); # cache of short names
%Cache = (); # cache of dynamically loaded routine's mod times
%cmd_cache = (); # cache of short names
@@
-40,6
+40,8
@@
$errstr = (); # error string from eval
%aliases = (); # aliases for (parts of) commands
$scriptbase = "$main::root/scripts"; # the place where all users start scripts go
$maxerrors = 20; # the maximum number of concurrent errors allowed before disconnection
%aliases = (); # aliases for (parts of) commands
$scriptbase = "$main::root/scripts"; # the place where all users start scripts go
$maxerrors = 20; # the maximum number of concurrent errors allowed before disconnection
+$suppress_ann_to_talk = 1; # don't announce 'to <call> ' or '<call> ' type announcements
+
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
@@
-75,6
+77,10
@@
sub start
my $call = $self->{call};
my $name = $user->{name};
my $call = $self->{call};
my $name = $user->{name};
+ # log it
+ my $host = $self->{conn}->{peerhost} || "unknown";
+ Log('DXCommand', "$call connected from $host");
+
$self->{name} = $name ? $name : $call;
$self->send($self->msg('l2',$self->{name}));
$self->send_file($main::motd) if (-e $main::motd);
$self->{name} = $name ? $name : $call;
$self->send($self->msg('l2',$self->{name}));
$self->send_file($main::motd) if (-e $main::motd);
@@
-113,8
+119,6
@@
sub start
$user->qra(DXBearing::lltoqra($lat, $long)) if (defined $lat && defined $long);
}
$user->qra(DXBearing::lltoqra($lat, $long)) if (defined $lat && defined $long);
}
- Log('DXCommand', "$call connected");
-
# send prompts and things
my $info = Route::cluster();
$self->send("Cluster:$info");
# send prompts and things
my $info = Route::cluster();
$self->send("Cluster:$info");
@@
-701,6
+705,11
@@
sub announce
my $text = shift;
my ($filter, $hops);
my $text = shift;
my ($filter, $hops);
+ if ($suppress_ann_to_talk) {
+ my ($to, $call) = $text =~ /^\s*([\w-]+)[\s:]+([\w-]+)/;
+ return if ($to && $call && ((uc $to =~ /^TO?$/ && is_callsign(uc $call)) || is_callsign($call = uc $to)));
+ }
+
if ($self->{annfilter}) {
($filter, $hops) = $self->{annfilter}->it(@_ );
return unless $filter;
if ($self->{annfilter}) {
($filter, $hops) = $self->{annfilter}->it(@_ );
return unless $filter;