From ef5ef5ddd6c9355a8786720a8acbf242d10eca40 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Tue, 18 Jul 2017 13:38:12 -0400 Subject: [PATCH] Minor updates to places --- cpanfile | 188 ++++++++++++++++++++------------------- lib/Bot/BB3/Roles/IRC.pm | 4 +- plugins/get.pm | 13 +++ plugins/supereval.pm | 2 +- 4 files changed, 112 insertions(+), 95 deletions(-) diff --git a/cpanfile b/cpanfile index 63e63db..e363812 100644 --- a/cpanfile +++ b/cpanfile @@ -1,105 +1,109 @@ -requires 'Sys::Linux::Namespace' => 0.013; -requires 'POE' => 0; -requires 'Parse::RecDescent' => 0; -requires 'Config::General' => 0; -requires 'Cache::FastMmap' => 0; -requires 'POE::Component::IRC::Common' => 0; -requires 'POE::Component::IRC' => 0; -requires 'Text::Handlebars' => 0; +requires 'Sys::Linux::Namespace' => 'v0.13.0'; +requires 'POE'; +requires 'Parse::RecDescent'; +requires 'Config::General'; +requires 'Cache::FastMmap'; +requires 'POE::Component::IRC::Common'; +requires 'POE::Component::IRC'; +requires 'Text::Handlebars'; -requires 'Geo::IP' => 0; -requires 'XML::RSS::Parser' => 0; -requires 'WWW::Shorten' => 0; -requires 'WWW::Mechanize' => 0; -requires 'URI::Encode' => 0; -requires 'Text::Glob' => 0; +requires 'Geo::IP'; +requires 'XML::RSS::Parser'; +requires 'WWW::Shorten'; +requires 'WWW::Mechanize'; +requires 'URI::Encode'; +requires 'Text::Glob'; -requires 'DBD::SQLite' => 0; -requires 'DBI' => 0; -requires 'Net::DNS' => 0; -requires 'HTML::TreeBuilder' => 0; -requires 'Net::INET6Glue::INET_is_INET6' => 0; +requires 'DBD::SQLite'; +requires 'DBI'; +requires 'Net::DNS'; +requires 'HTML::TreeBuilder'; +requires 'Net::INET6Glue::INET_is_INET6'; -requires 'Net::Dict' => 0; -requires 'HTML::TreeBuilder::XPath' => 0; +requires 'Net::Dict'; +requires 'HTML::TreeBuilder::XPath'; -requires 'Data::Dumper' => 0; -requires 'Scalar::Util' => 0; #Required by Data::Dumper -requires 'BSD::Resource' => 0; -requires 'File::Glob' => 0; -requires 'POSIX' => 0; +requires 'Data::Dumper'; +requires 'Scalar::Util'; #Required by Data::Dumper +requires 'BSD::Resource'; +requires 'File::Glob'; +requires 'POSIX'; -requires 'List::Util' => 0; -requires 'List::MoreUtils' => 0; -requires 'List::UtilsBy' => 0; -requires 'Data::Munge' => 0; -requires 'Scalar::MoreUtils' => 0; -requires 'Regexp::Common' => 0; -requires 'Encode' => 0; -requires 'Digest::MD5' => 0; -requires 'Digest::SHA' => 0; -requires 'DateTime' => 0; -requires 'DateTimeX::Easy' => 0; -requires 'Date::Parse' => 0; +requires 'List::Util'; +requires 'List::MoreUtils'; +requires 'List::UtilsBy'; +requires 'Data::Munge'; +requires 'Scalar::MoreUtils'; +requires 'Regexp::Common'; +requires 'Encode'; +requires 'Digest::MD5'; +requires 'Digest::SHA'; +requires 'DateTime'; +requires 'DateTimeX::Easy'; +requires 'Date::Parse'; -requires 'Moose' => 0; -requires 'MooseX::Declare' => 0; +requires 'Moose'; +requires 'MooseX::Declare'; -requires 'Function::Parameters' => 0; +requires 'Function::Parameters'; -requires 'Rand::MersenneTwister' => 0; -requires 'arybase' => 0; -requires 'Errno' => 0; -requires 'JSON' => 0; -requires 'JSON::PP' => 0; -requires 'JSON::XS' => 0; -requires 'JSON::MaybeXS' => 0; -requires 'Cpanel::JSON::XS' => 0; +requires 'Rand::MersenneTwister'; +requires 'arybase'; +requires 'Errno'; +requires 'JSON'; +requires 'JSON::PP'; +requires 'JSON::XS'; +requires 'JSON::MaybeXS'; +requires 'Cpanel::JSON::XS'; -requires 'LWP::Protocol::https' => 0; -requires 'Mojo::DOM' => 0; -requires 'Mojo::DOM::CSS' => 0; -requires 'Mojo::Collection' => 0; -requires 'YAPE::Regex::Explain' => 0; -requires 'bigint' => 0; -requires 'Math::BigInt' => 0; -requires 'Math::BigFloat' => 0; -requires 'Math::BigRat' => 0; -requires 'indirect' => 0; -requires 'Moo' => 0; -requires 'autovivification' => 0; +requires 'LWP::Protocol::https'; +requires 'Mojo::DOM'; +requires 'Mojo::DOM::CSS'; +requires 'Mojo::Collection'; +requires 'YAPE::Regex::Explain'; +requires 'bigint'; +requires 'Math::BigInt'; +requires 'Math::BigFloat'; +requires 'Math::BigRat'; +requires 'indirect'; +requires 'Moo'; +requires 'autovivification'; -requires 'Linux::Seccomp' => 0; -requires 'Cwd' => 0; -# requires 'Algorithm::Permute' => 0; -requires 'File::Slurper' => 0; -requires 'Path::Tiny' => 0; -requires 'Time::Moment' => 0; -requires 'Switch::Plain' => 0; -requires 'Quote::Code' => 0; -requires 'JSON::Tiny' => 0; +requires 'Linux::Seccomp'; +requires 'Cwd'; +# requires 'Algorithm::Permute'; +requires 'File::Slurper'; +requires 'Path::Tiny'; +requires 'Time::Moment'; +requires 'Switch::Plain'; +requires 'Quote::Code'; +# requires 'JSON::Tiny'; # broken in the canary -requires 'List::SomeUtils' => 0; -requires 'IO::Async' => 0; -requires 'Future' => 0; -requires 'Class::Tiny' => 0; -requires 'Capture::Tiny' => 0; +requires 'List::SomeUtils'; +requires 'IO::Async'; +requires 'Future'; +requires 'Class::Tiny'; +requires 'Capture::Tiny'; -requires 'Return::MultiLevel' => 0; -requires 'Try::Tiny::ByClass' => 0; -requires 'IPC::Run' => 0; -requires 'Text::Metaphone' => 0; +requires 'Return::MultiLevel'; +requires 'Try::Tiny::ByClass'; +requires 'IPC::Run'; +requires 'Text::Metaphone'; -requires 'DBD::SQLite::BundledExtensions' => 0; -requires 'Text::Levenshtein' => 0; -requires 'Text::Metaphone' => 0; -requires 'Math::Round' => 0; -requires 'Twitter::API' => 0; -requires 'Types::Standard' => 0; -requires 'Perl::Tidy' => 0; -requires 'File::Temp' => 0; -requires 'Permute::Named::Iter' => 0; -requires 'Marpa::R2' => 0; -requires 'Syntax::Keyword::Try' => 0; -requires 'File::Open' => 0; -requires 'App::EvalServerAdvanced' => 0; +requires 'DBD::SQLite::BundledExtensions'; +requires 'Text::Levenshtein'; +requires 'Text::Metaphone'; +requires 'Math::Round'; +requires 'Twitter::API'; +requires 'Types::Standard'; +requires 'Perl::Tidy'; +requires 'File::Temp'; +requires 'Permute::Named::Iter'; +requires 'Marpa::R2'; +requires 'Syntax::Keyword::Try'; +requires 'File::Open'; +requires 'App::EvalServerAdvanced'; +requires 'Dir::ls'; +requires 'Object::Tap'; +requires 'XML::LibXML'; +requires 'Sereal'; diff --git a/lib/Bot/BB3/Roles/IRC.pm b/lib/Bot/BB3/Roles/IRC.pm index ab57864..d599897 100644 --- a/lib/Bot/BB3/Roles/IRC.pm +++ b/lib/Bot/BB3/Roles/IRC.pm @@ -575,7 +575,7 @@ sub plugin_output { # Send multiple messages if we're talking in a private chat # Note that in the future we'll probably want to generalize channels # that receive multiple lines and those that don't.. - $text = Encode::encode( "utf8", $text ); # set it up for raw bytes now + $text = Encode::encode( "utf8", $text ); # set it up for raw bytes now while( length $text ) { my $substr = substr( $text, 0, 400, '' ); $pci->yield( privmsg => $said->{name} => $substr ); @@ -583,7 +583,7 @@ sub plugin_output { # Try to avoid sending too many lines, since it may be annoying # and it tends to prevent the bot from sending other messages. - last MESSAGES if $messages_sent++ > 30; + last MESSAGES if $messages_sent++ > 60; } } } diff --git a/plugins/get.pm b/plugins/get.pm index 7ca3e03..9c100be 100644 --- a/plugins/get.pm +++ b/plugins/get.pm @@ -2,6 +2,19 @@ use Net::INET6Glue::INET_is_INET6; use LWP::UserAgent; use HTML::TreeBuilder::XPath; +package + XML::XPathEngine::Function { + sub string_join { + my $self = shift; + my ($node, @params) = @_; + die "concat: Too few parameters\n" if @params < 2; + my $joiner = pop @params; + my $string = join($joiner->string_value, map {$_->string_values} @params); + return XML::XPathEngine::Literal->new($string); + } +}; + + sub { my( $said ) = @_; diff --git a/plugins/supereval.pm b/plugins/supereval.pm index 3432511..24deacc 100644 --- a/plugins/supereval.pm +++ b/plugins/supereval.pm @@ -85,7 +85,7 @@ sub command { } else { # TODO use channel config for this if ($said->{channel} eq '#perlbot' || $said->{channel} eq '*irc_msg') { - $resultstr = $self->do_multieval([map {"perl".$_} @versions], $code); + $resultstr = $self->do_multieval([map {"perl".$_} grep {!/^(all|1|2|3|4|5\.5)$/} @versions], $code); } else { $resultstr = "evalall only works in /msg or in #perlbot"; }