From 51735494b30922b21714f46003f7750711951d38 Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Thu, 30 Nov 2017 13:11:39 -0800 Subject: [PATCH] Minor improvement to nick addressing --- PBot/Factoids.pm | 5 ++++- PBot/Interpreter.pm | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/PBot/Factoids.pm b/PBot/Factoids.pm index ced0e0fa..29867b6b 100644 --- a/PBot/Factoids.pm +++ b/PBot/Factoids.pm @@ -877,13 +877,16 @@ sub handle_action { $action = $self->expand_action_arguments($action, $stuff->{arguments}, $stuff->{nick}); } $stuff->{arguments} = ""; + delete $stuff->{nickoverride} unless $stuff->{force_nickoverride}; } else { if ($self->{factoids}->hash->{$channel}->{$keyword}->{type} eq 'text') { my $target = $self->{pbot}->{nicklist}->is_present_similar($stuff->{from}, $stuff->{arguments}); if ($target and $action !~ /\$(?:nick|args)\b/) { - $stuff->{nickoverride} = $target; + $stuff->{nickoverride} = $target unless $stuff->{force_nickoverride}; + } else { + delete $stuff->{nickoverride} unless $stuff->{force_nickoverride}; } } } diff --git a/PBot/Interpreter.pm b/PBot/Interpreter.pm index 2f10bb0d..bac3b6fc 100644 --- a/PBot/Interpreter.pm +++ b/PBot/Interpreter.pm @@ -230,16 +230,18 @@ sub interpret { my $similar = $self->{pbot}->{nicklist}->is_present_similar($stuff->{from}, $stuff->{nickoverride}); if ($similar) { $stuff->{nickoverride} = $similar; + $stuff->{force_nickoverride} = 1; } else { - $stuff->{nickoverride} = undef; + delete $stuff->{nickoverride}; } } elsif ($stuff->{command} =~ /^tell\s+(\p{PosixGraph}{1,20})\s+about\s+(.*)$/is) { ($keyword, $stuff->{nickoverride}) = ($2, $1); my $similar = $self->{pbot}->{nicklist}->is_present_similar($stuff->{from}, $stuff->{nickoverride}); if ($similar) { $stuff->{nickoverride} = $similar; + $stuff->{force_nickoverride} = 1; } else { - $stuff->{nickoverride} = undef; + delete $stuff->{nickoverride}; } } elsif ($stuff->{command} =~ /^(.*?)\s+(.*)$/s) { ($keyword, $arguments) = ($1, $2);