X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=cda7690415ce9f56539c009894eea3ca4c421268;hb=e18c9b8b9a003bfb56416ab1d2aee0f232146d25;hp=d562437a6460d3ca380803db27784b3d2417ba15;hpb=aac4d7dbc1d3c34bf73147a679673d346894984f;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index d562437a..cda76904 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -265,9 +265,24 @@ sub normal } $self->state('prompt'); delete $self->{talklist}; - } elsif ($cmdline =~ m(^/\w+)) { - $cmdline =~ s(^/)(); - $self->send_ans(run_cmd($self, $cmdline)); + } elsif ($cmdline =~ m|^/+\w+|) { + $cmdline =~ s|^/||; + my $sendit = $cmdline =~ s|^/+||; + my @in = $self->run_cmd($cmdline); + $self->send_ans(@in); + if ($sendit && $self->{talklist} && @{$self->{talklist}}) { + foreach my $l (@in) { + my @bad; + if (@bad = BadWords::check($l)) { + $self->badcount(($self->badcount||0) + @bad); + Log('DXCommand', "$self->{call} swore: $l"); + } else { + for (@{$self->{talklist}}) { + $self->send_talks($_, $l); + } + } + } + } $self->send($self->talk_prompt); } elsif ($self->{talklist} && @{$self->{talklist}}) { # send what has been said to whoever is in this person's talk list