3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-26 13:59:47 +01:00

Require "is" as separator to allow add factoids with spaces in trigger

This commit is contained in:
Pragmatic Software 2010-05-13 19:45:52 +00:00
parent 7b4d15191a
commit c699ae26a8
2 changed files with 8 additions and 10 deletions

View File

@ -220,20 +220,18 @@ sub add_text {
my $self = shift;
my ($from, $nick, $user, $host, $arguments) = @_;
my $factoids = $self->{pbot}->factoids->factoids;
my ($keyword, $text) = $arguments =~ /^(.*?)\s+(.*)$/ if defined $arguments;
my ($keyword, $text) = $arguments =~ /^(.*?)\s+is\s+(.*)$/i if defined $arguments;
if(not defined $text) {
$self->{pbot}->logger->log("add_text: invalid usage\n");
return "/msg $nick Usage: add <keyword> <factoid>";
return "/msg $nick Usage: add <keyword> is <factoid>";
}
if(not defined $keyword) {
$self->{pbot}->logger->log("add_text: invalid usage\n");
return "/msg $nick Usage: add <keyword> <factoid>";
return "/msg $nick Usage: add <keyword> is <factoid>";
}
$text =~ s/^is\s+//;
if(exists $factoids->{$keyword}) {
$self->{pbot}->logger->log("$nick!$user\@$host attempt to overwrite $keyword\n");
return undef;
@ -251,7 +249,7 @@ sub add_text {
$self->{pbot}->factoids->save_factoids();
return "/msg $nick $keyword added.";
return "/msg $nick '$keyword' added.";
}
sub histogram {

View File

@ -175,10 +175,10 @@ sub interpret {
($keyword, $arguments, $tonick) = ($2, $3, $1);
} elsif($command =~ /^tell\s+(.{1,20})\s+about\s+(.*)$/) {
($keyword, $tonick) = ($2, $1);
} elsif($command =~ /^([^ ]+)\s+is\s+also\s+(.*)$/) {
($keyword, $arguments) = ("change", "$1 s,\$, ; $2,");
} elsif($command =~ /^([^ ]+)\s+is\s+(.*)$/) {
($keyword, $arguments) = ("add", join(' ', $1, $2)) unless exists ${ $pbot->factoids }{factoids}{$1};
} elsif($command =~ /^(.*?)\s+is\s+also\s+(.*)$/) {
($keyword, $arguments) = ("change", "$1 s|\$| - $2|");
} elsif($command =~ /^(.*?)\s+is\s+(.*)$/) {
($keyword, $arguments) = ("add", join(' is ', $1, $2)) unless exists ${ $pbot->factoids }{factoids}{$1};
($keyword, $arguments) = ($1, "is $2") if exists ${ $pbot->factoids }{factoids}{$1};
} elsif($command =~ /^(.*?)\s+(.*)$/) {
($keyword, $arguments) = ($1, $2);