3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-10-07 03:49:04 +02:00

Straighten out nickoverride a bit

This commit is contained in:
Pragmatic Software 2017-12-09 13:25:11 -08:00
parent 14386cdff1
commit f24c26d2ef
2 changed files with 10 additions and 13 deletions

View File

@ -887,7 +887,6 @@ sub handle_action {
$action = $self->expand_action_arguments($action, $stuff->{arguments}, $stuff->{nick}); $action = $self->expand_action_arguments($action, $stuff->{arguments}, $stuff->{nick});
} }
$stuff->{arguments} = ""; $stuff->{arguments} = "";
delete $stuff->{nickoverride} unless $stuff->{force_nickoverride};
} else { } else {
if ($self->{factoids}->hash->{$channel}->{$keyword}->{type} eq 'text') { if ($self->{factoids}->hash->{$channel}->{$keyword}->{type} eq 'text') {
my $target = $self->{pbot}->{nicklist}->is_present_similar($stuff->{from}, $stuff->{arguments}); my $target = $self->{pbot}->{nicklist}->is_present_similar($stuff->{from}, $stuff->{arguments});
@ -895,8 +894,6 @@ sub handle_action {
if ($target and $action !~ /\$(?:nick|args)\b/) { if ($target and $action !~ /\$(?:nick|args)\b/) {
$stuff->{nickoverride} = $target unless $stuff->{force_nickoverride}; $stuff->{nickoverride} = $target unless $stuff->{force_nickoverride};
} else {
delete $stuff->{nickoverride} unless $stuff->{force_nickoverride};
} }
} }
} }

View File

@ -102,10 +102,10 @@ sub process_line {
$has_code = $1; $has_code = $1;
$preserve_whitespace = 1; $preserve_whitespace = 1;
} elsif ($cmd_text =~ m/^\s*($nick_regex)[,:]*\s*{\s*(.+)\s*}\s*$/) { } elsif ($cmd_text =~ m/^\s*($nick_regex)[,:]*\s*{\s*(.+)\s*}\s*$/) {
$nick_override = $1; my $possible_nick_override = $1;
$has_code = $2 if $nick_override !~ /^(?:enum|struct|union)$/; $has_code = $2 if $possible_nick_override !~ /^(?:enum|struct|union)$/;
$preserve_whitespace = 1; $preserve_whitespace = 1;
$nick_override = $self->{pbot}->{nicklist}->is_present($from, $nick_override); $nick_override = $self->{pbot}->{nicklist}->is_present($from, $possible_nick_override);
} }
if (defined $has_code) { if (defined $has_code) {
@ -130,14 +130,14 @@ sub process_line {
} elsif ($cmd_text =~ m/^\s*$bot_trigger\{\s*(.+?)\s*\}\s*$/) { } elsif ($cmd_text =~ m/^\s*$bot_trigger\{\s*(.+?)\s*\}\s*$/) {
goto CHECK_EMBEDDED_CMD; goto CHECK_EMBEDDED_CMD;
} elsif ($cmd_text =~ m/^\s*($nick_regex)[,:]\s+$bot_trigger\s*(.+)$/) { } elsif ($cmd_text =~ m/^\s*($nick_regex)[,:]\s+$bot_trigger\s*(.+)$/) {
$nick_override = $1; my $possible_nick_override = $1;
$command = $2; $command = $2;
my $similar = $self->{pbot}->{nicklist}->is_present_similar($from, $nick_override); my $similar = $self->{pbot}->{nicklist}->is_present_similar($from, $possible_nick_override);
if ($similar) { if ($similar) {
$nick_override = $similar; $nick_override = $similar;
} else { } else {
$self->{pbot}->{logger}->log("No similar nick for $nick_override\n"); $self->{pbot}->{logger}->log("No similar nick for $possible_nick_override\n");
return 0; return 0;
} }
} elsif ($cmd_text =~ m/^$bot_trigger\s*(.+)$/) { } elsif ($cmd_text =~ m/^$bot_trigger\s*(.+)$/) {
@ -152,12 +152,10 @@ sub process_line {
CHECK_EMBEDDED_CMD: CHECK_EMBEDDED_CMD:
if (not defined $command or $command =~ m/^\{.*\}/) { if (not defined $command or $command =~ m/^\{.*\}/) {
if ($cmd_text =~ s/^\s*($nick_regex)[,:]\s+//) { if ($cmd_text =~ s/^\s*($nick_regex)[,:]\s+//) {
$nick_override = $1; my $possible_nick_override = $1;
my $similar = $self->{pbot}->{nicklist}->is_present_similar($from, $nick_override); my $similar = $self->{pbot}->{nicklist}->is_present_similar($from, $possible_nick_override);
if ($similar) { if ($similar) {
$nick_override = $similar; $nick_override = $similar;
} else {
$nick_override = 0;
} }
} }
@ -228,6 +226,7 @@ sub interpret {
$stuff->{force_nickoverride} = 1; $stuff->{force_nickoverride} = 1;
} else { } else {
delete $stuff->{nickoverride}; delete $stuff->{nickoverride};
delete $stuff->{force_nickoverride};
} }
} elsif ($stuff->{command} =~ /^tell\s+(\p{PosixGraph}{1,20})\s+about\s+(.*)$/is) { } elsif ($stuff->{command} =~ /^tell\s+(\p{PosixGraph}{1,20})\s+about\s+(.*)$/is) {
($keyword, $stuff->{nickoverride}) = ($2, $1); ($keyword, $stuff->{nickoverride}) = ($2, $1);
@ -237,6 +236,7 @@ sub interpret {
$stuff->{force_nickoverride} = 1; $stuff->{force_nickoverride} = 1;
} else { } else {
delete $stuff->{nickoverride}; delete $stuff->{nickoverride};
delete $stuff->{force_nickoverride};
} }
} elsif ($stuff->{command} =~ /^(.*?)\s+(.*)$/s) { } elsif ($stuff->{command} =~ /^(.*?)\s+(.*)$/s) {
($keyword, $arguments) = ($1, $2); ($keyword, $arguments) = ($1, $2);