# ignore split to commands [dumb commands vs. factoids] (editing commands?)
return undef if $str =~ /\s+\=\~\s+s[\#\/\:]/;
my @list =
- &searchTable( 'factoids', 'factoid_key', 'factoid_key', "^$chan cmd: $first " );
- &searchTable( 'factoids', 'factoid_key', 'factoid_key', "^cmd: $first " );
+ (&searchTable( 'factoids', 'factoid_key', 'factoid_key', "^$chan cmd: $first " ),
+ &searchTable( 'factoids', 'factoid_key', 'factoid_key', "^_default cmd: $first " ),
+ &searchTable( 'factoids', 'factoid_key', 'factoid_key', "^cmd: $first " );
&DEBUG("chan is $chan, first is $first; searching for '^$chan cmd: $first' ");
# my $delta_time = &timedelta($t);
# &DEBUG("factArgs: delta_time = $delta_time s");
- &DEBUG("factArgs: list => ".scalar(@list) );
+ &DEBUG("factArgs: list[.".scalar(@list))."] => ".join(',',map {qq('$_')} @list) );
# from a design perspective, it's better to have the regex in
# the factoid key to reduce repetitive processing.
# it does not matter if it's not alphabetically sorted.
foreach ( (sort { length($b) <=> length($a) } grep {$_ =~ /^\Q$chan \E/} @list),
- (sort { length($b) <=> length($a) } grep {$_ !~ /^\Q$chan \E/} @list)
+ (sort { length($b) <=> length($a) } grep {$_ =~ /^\Q_default \E/} @list)
+ (sort { length($b) <=> length($a) } grep {$_ !~ /^(\Q$chan\E|default) /} @list)
) {
next if (/#DEL#/); # deleted.