-my @bad;
-if (@bad = BadWords::check($line)) {
- $self->badcount(($self->badcount||0) + @bad);
- LogDbg('DXCommand', "$self->{call} swore: $line (with words:" . join(',', @bad) . ")");
- Log('chat', $target, $from, "[to $from only] $line");
- return (1, "$target de $from <$t>: $line");
+if ($text) {
+ my @bad;
+ if (@bad = BadWords::check($line)) {
+ $self->badcount(($self->badcount||0) + @bad);
+ LogDbg('DXCommand', "$self->{call} swore: $line (with words:" . join(',', @bad) . ")");
+ Log('chat', $target, $from, "[to $from only] $line");
+ return (1, "$target de $from <$t>: $line");
+ }
+
+ $self->send_chats($target, $text);
+} else {
+ my $ref = $self->talklist;
+ if ($ref) {
+ push @out, $self->msg('chattoomany', $target, $self->talklist->[0]);
+ } else {
+ $self->talklist([ $target ]);
+ push @out, $self->msg('chatinst', $target);
+ $self->state('chat');
+ }
+ Log('chat', $target, $from, "Started chat mode on $target");
+ push @out, $self->chat_prompt;