mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-26 22:09:26 +01:00
Use Getopt::Long to parse rq
options
This commit is contained in:
parent
cebcafba70
commit
6de1023ee8
@ -14,6 +14,7 @@ $VERSION = $PBot::PBot::VERSION;
|
|||||||
use HTML::Entities;
|
use HTML::Entities;
|
||||||
use Time::Duration;
|
use Time::Duration;
|
||||||
use Time::HiRes qw(gettimeofday);
|
use Time::HiRes qw(gettimeofday);
|
||||||
|
use Getopt::Long qw(GetOptionsFromString);
|
||||||
|
|
||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
|
|
||||||
@ -414,19 +415,24 @@ sub show_random_quotegrab {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $usage = 'Usage: rq [nick regex] [-c,--channel <channel regex>] [-t,--text <text regex>]';
|
||||||
|
|
||||||
if(defined $arguments) {
|
if(defined $arguments) {
|
||||||
$nick_search = $1 if $arguments =~ s/-nick\s+(\S+)//g;
|
my $getopt_error;
|
||||||
$channel_search = $1 if $arguments =~ s/-channel\s+(\S+)//g;
|
local $SIG{__WARN__} = sub {
|
||||||
$text_search = $1 if $arguments =~ s/-text\s+(\S+)//g;
|
$getopt_error = shift;
|
||||||
|
chomp $getopt_error;
|
||||||
|
};
|
||||||
|
|
||||||
$arguments =~ s/^\s+//;
|
my ($ret, $args) = GetOptionsFromString($arguments,
|
||||||
$arguments =~ s/\s+$//;
|
'channel|c=s' => \$channel_search,
|
||||||
|
'text|t=s' => \$text_search);
|
||||||
|
|
||||||
my ($possible_nick_search, $possible_channel_search, $possible_text_search) = split /\s+/, $arguments;
|
return "$getopt_error -- $usage" if defined $getopt_error;
|
||||||
|
|
||||||
$nick_search = $possible_nick_search if not defined $nick_search;
|
$nick_search = shift @$args;
|
||||||
$channel_search = $possible_channel_search if not defined $channel_search;
|
$channel_search = shift @$args if not defined $channel_search;
|
||||||
$text_search = $possible_text_search if not defined $text_search;
|
$text_search = shift @$args if not defined $text_search;
|
||||||
|
|
||||||
if($nick_search =~ m/^#/) {
|
if($nick_search =~ m/^#/) {
|
||||||
my $tmp = $channel_search;
|
my $tmp = $channel_search;
|
||||||
@ -473,7 +479,7 @@ sub show_random_quotegrab {
|
|||||||
$result .= "matching text '$text_search' ";
|
$result .= "matching text '$text_search' ";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result . "yet (usage: rq [nick regex] [-channel <channel regex>] [-text <text regex>]).";;
|
return $result . "yet ($usage).";;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $quotegrab = $quotes[int rand($#quotes + 1)];
|
my $quotegrab = $quotes[int rand($#quotes + 1)];
|
||||||
@ -481,9 +487,9 @@ sub show_random_quotegrab {
|
|||||||
my ($first_nick) = split /\+/, $quotegrab->{nick}, 2;
|
my ($first_nick) = split /\+/, $quotegrab->{nick}, 2;
|
||||||
|
|
||||||
if($text =~ s/^\/me\s+//) {
|
if($text =~ s/^\/me\s+//) {
|
||||||
return "$quotegrab->{id}: " . ($channel_search eq '.*' ? "[$quotegrab->{channel}] " : "") . "* $first_nick $text";
|
return "$quotegrab->{id}: " . (($channel_search eq '.*' or $quotegrab->{channel} ne $from) ? "[$quotegrab->{channel}] " : "") . "* $first_nick $text";
|
||||||
} else {
|
} else {
|
||||||
return "$quotegrab->{id}: " . ($channel_search eq '.*' ? "[$quotegrab->{channel}] " : "") . "<$first_nick> $text";
|
return "$quotegrab->{id}: " . (($channel_search eq '.*' or $quotegrab->{channel} ne $from) ? "[$quotegrab->{channel}] " : "") . "<$first_nick> $text";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,8 +13,8 @@ use warnings;
|
|||||||
# These are set automatically by the build/commit script
|
# These are set automatically by the build/commit script
|
||||||
use constant {
|
use constant {
|
||||||
BUILD_NAME => "PBot",
|
BUILD_NAME => "PBot",
|
||||||
BUILD_REVISION => 559,
|
BUILD_REVISION => 560,
|
||||||
BUILD_DATE => "2014-04-29",
|
BUILD_DATE => "2014-04-30",
|
||||||
};
|
};
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user