mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-26 22:09:26 +01:00
FactoidCommands: simplify factfind
This commit is contained in:
parent
78e91c1b82
commit
0b9bc60690
@ -1260,10 +1260,6 @@ sub factfind {
|
|||||||
$editby = $1 if $arguments =~ s/\s*-editby\s+([^\b\s]+)//i;
|
$editby = $1 if $arguments =~ s/\s*-editby\s+([^\b\s]+)//i;
|
||||||
$use_regex = 1 if $arguments =~ s/\s*-regex\b//i;
|
$use_regex = 1 if $arguments =~ s/\s*-regex\b//i;
|
||||||
|
|
||||||
$owner = '.*' if not defined $owner;
|
|
||||||
$refby = '.*' if not defined $refby;
|
|
||||||
$editby = '.*' if not defined $editby;
|
|
||||||
|
|
||||||
$arguments =~ s/^\s+//;
|
$arguments =~ s/^\s+//;
|
||||||
$arguments =~ s/\s+$//;
|
$arguments =~ s/\s+$//;
|
||||||
$arguments =~ s/\s+/ /g;
|
$arguments =~ s/\s+/ /g;
|
||||||
@ -1273,12 +1269,12 @@ sub factfind {
|
|||||||
|
|
||||||
$argtype = "owned by $owner" if $owner ne '.*';
|
$argtype = "owned by $owner" if $owner ne '.*';
|
||||||
|
|
||||||
if ($refby ne '.*') {
|
if (defined $refby) {
|
||||||
if (not defined $argtype) { $argtype = "last referenced by $refby"; }
|
if (not defined $argtype) { $argtype = "last referenced by $refby"; }
|
||||||
else { $argtype .= " and last referenced by $refby"; }
|
else { $argtype .= " and last referenced by $refby"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($editby ne '.*') {
|
if (defined $editby) {
|
||||||
if (not defined $argtype) { $argtype = "last edited by $editby"; }
|
if (not defined $argtype) { $argtype = "last edited by $editby"; }
|
||||||
else { $argtype .= " and last edited by $editby"; }
|
else { $argtype .= " and last edited by $editby"; }
|
||||||
}
|
}
|
||||||
@ -1311,26 +1307,23 @@ sub factfind {
|
|||||||
foreach my $factoid ($factoids->get_all("index1 = $chan", 'index2', 'owner', 'ref_user', 'edited_by', 'action')) {
|
foreach my $factoid ($factoids->get_all("index1 = $chan", 'index2', 'owner', 'ref_user', 'edited_by', 'action')) {
|
||||||
my $match = 0;
|
my $match = 0;
|
||||||
|
|
||||||
if ($owner eq '.*') {
|
if (defined $owner) {
|
||||||
$match = 1;
|
|
||||||
} else {
|
|
||||||
$match = 1 if $factoid->{owner} =~ /^$owner/i;
|
$match = 1 if $factoid->{owner} =~ /^$owner/i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($refby eq '.*') {
|
if (defined $refby) {
|
||||||
$match = 1;
|
|
||||||
} else {
|
|
||||||
$match = 1 if $factoid->{ref_user} =~ /^$refby/i;
|
$match = 1 if $factoid->{ref_user} =~ /^$refby/i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($editby eq '.*') {
|
if (defined $editby) {
|
||||||
$match = 1;
|
|
||||||
} else {
|
|
||||||
$match = 1 if $factoid->{edited_by} =~ /^$editby/i;
|
$match = 1 if $factoid->{edited_by} =~ /^$editby/i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($arguments ne "" && ($factoid->{action} =~ /$regex/i || $factoid->{index2} =~ /$regex/i)) {
|
||||||
|
$match = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if ($match) {
|
if ($match) {
|
||||||
next if ($arguments ne "" && $factoid->{action} !~ /$regex/i && $factoid->{index2} !~ /$regex/i);
|
|
||||||
$i++;
|
$i++;
|
||||||
if ($chan ne $last_chan) {
|
if ($chan ne $last_chan) {
|
||||||
$text .= $chan eq '.*' ? '[global channel] ' : '[' . $factoids->get_data($chan, '_name') . '] ';
|
$text .= $chan eq '.*' ? '[global channel] ' : '[' . $factoids->get_data($chan, '_name') . '] ';
|
||||||
|
Loading…
Reference in New Issue
Block a user