X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=97ac48623e192cd47b78488996edeb2823a9d3c3;hb=407d9a80a8af1fa6c1ae2c8fbca833e49da6e816;hp=ac0fb62470a942cf5c8d95830d7ff77b02507385;hpb=c4f04ae165fdc765f3baa26fa2b28b52cf967674;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index ac0fb624..97ac4862 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -123,9 +123,11 @@ sub start } # decide on echo - if (!$user->wantecho) { + my $echo = $user->wantecho; + unless ($echo) { $self->send_now('E', "0"); $self->send($self->msg('echow')); + $self->conn->echo($echo) if $self->conn->can('echo'); } $self->tell_login('loginu'); @@ -222,8 +224,14 @@ sub normal $self->send($self->talk_prompt); } elsif ($self->{talklist} && @{$self->{talklist}}) { # send what has been said to whoever is in this person's talk list - for (@{$self->{talklist}}) { - $self->send_talks($_, $cmdline); + my @bad; + if (@bad = BadWords::check($cmdline)) { + $self->badcount(($self->badcount||0) + @bad); + Log('DXCommand', "$self->{call} swore: $cmdline"); + } else { + for (@{$self->{talklist}}) { + $self->send_talks($_, $cmdline); + } } $self->send($self->talk_prompt) if $self->{state} eq 'talk'; } else {