diff --git a/lib/PBot/Core/Commands/Factoids.pm b/lib/PBot/Core/Commands/Factoids.pm index c43a42dd..0abb564e 100644 --- a/lib/PBot/Core/Commands/Factoids.pm +++ b/lib/PBot/Core/Commands/Factoids.pm @@ -1112,8 +1112,12 @@ sub cmd_factfind { my $unquoted_args = $arguments; $unquoted_args =~ s/(?:\\(?!\\))//g; $unquoted_args =~ s/(?:\\\\)/\\/g; - if (not defined $argtype) { $argtype = "containing '$unquoted_args'"; } - else { $argtype .= " and containing '$unquoted_args'"; } + + if (not defined $argtype) { + $argtype = "containing '$unquoted_args'"; + } else { + $argtype .= " and containing '$unquoted_args'"; + } } if (not defined $argtype) { return $usage; } @@ -1128,8 +1132,10 @@ sub cmd_factfind { eval { use re::engine::RE2 -strict => 1; my $regex; - if ($use_regex) { $regex = $arguments; } - else { + + if ($use_regex) { + $regex = $arguments; + } else { $regex = ($arguments =~ m/^\w/) ? '\b' : '\B'; $regex .= quotemeta $arguments; $regex .= ($arguments =~ m/\w$/) ? '\b' : '\B'; diff --git a/lib/PBot/Core/Factoids/Interpreter.pm b/lib/PBot/Core/Factoids/Interpreter.pm index f51970e1..26bb1cb3 100644 --- a/lib/PBot/Core/Factoids/Interpreter.pm +++ b/lib/PBot/Core/Factoids/Interpreter.pm @@ -219,6 +219,16 @@ sub interpreter { return $usage; } + # turn on context->{use_output_queue}? + if ($self->{pbot}->{factoids}->{data}->{storage}->get_data($channel, $keyword, 'use_output_queue')) { + $context->{use_output_queue} = 1; + } + + # turn on context->{preserve_whitespace}? + if ($self->{pbot}->{factoids}->{data}->{storage}->get_data($channel, $keyword, 'preserve_whitespace')) { + $context->{preserve_whitespace} = 1; + } + # tell PBot::Core::Interpreter to prepend caller's nick to output if ($self->{pbot}->{factoids}->{data}->{storage}->get_data($channel, $keyword, 'add_nick')) { $context->{add_nick} = 1; diff --git a/lib/PBot/Core/Interpreter.pm b/lib/PBot/Core/Interpreter.pm index ae089a98..8e6d7c11 100644 --- a/lib/PBot/Core/Interpreter.pm +++ b/lib/PBot/Core/Interpreter.pm @@ -663,30 +663,6 @@ sub handle_result { # nothing more to do here if we have no result or keyword return 0 if not length $result or not exists $context->{keyword}; - # set preserve_whitespace and use_output_queue - # TODO: this should be in Factoids.pm and update $context's flags - - my $use_output_queue = 0; - - if (not $self->{pbot}->{commands}->exists($context->{keyword})) { - my @factoids = $self->{pbot}->{factoids}->{data}->find($context->{from}, $context->{keyword}, - arguments => $context->{arguments}, - exact_channel => 0, - exact_trigger => 0, - find_alias => 1 - ); - - if (@factoids == 1) { - my ($chan, $trigger) = ($factoids[0]->[0], $factoids[0]->[1]); - - if ($context->{preserve_whitespace} == 0) { - $context->{preserve_whitespace} = $self->{pbot}->{factoids}->{data}->{storage}->get_data($chan, $trigger, 'preserve_whitespace') // 0; - } - - $use_output_queue = $self->{pbot}->{factoids}->{data}->{storage}->get_data($chan, $trigger, 'use_output_queue') // 0; - } - } - my $preserve_newlines = $self->{pbot}->{registry}->get_value($context->{from}, 'preserve_newlines'); my $original_result = $result; @@ -711,7 +687,7 @@ sub handle_result { my $message = "And that's all I have to say about that. See $link for full text."; - if ($use_output_queue) { + if ($context->{use_output_queue}) { my $message = { nick => $context->{nick}, user => $context->{user}, @@ -732,7 +708,7 @@ sub handle_result { last; } - if ($use_output_queue) { + if ($context->{use_output_queue}) { my $delay = rand(10) + 5; my $message = { nick => $context->{nick}, diff --git a/lib/PBot/VERSION.pm b/lib/PBot/VERSION.pm index d4aa2798..60c7d059 100644 --- a/lib/PBot/VERSION.pm +++ b/lib/PBot/VERSION.pm @@ -25,8 +25,8 @@ use PBot::Imports; # These are set by the /misc/update_version script use constant { BUILD_NAME => "PBot", - BUILD_REVISION => 4382, - BUILD_DATE => "2021-09-08", + BUILD_REVISION => 4384, + BUILD_DATE => "2021-09-10", }; sub initialize {}