# Created: 20010906
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
+
+use vars qw(%param %cache %lang %cmdstats %bots);
+use vars qw($message $who $addressed $chan $h $nuh $ident $msgType
+ $correction_plausable);
# Usage: &validFactoid($lhs,$rhs);
sub validFactoid {
}
$faqtoid =~ tr/A-Z/a-z/;
+ $faqtoid =~ s/^cmd:/CMD:/; # basic command forgetting
my $result = &getFactoid($faqtoid);
# if it doesn't exist, well... it doesn't!
return;
}
+ # TODO: squeeze 3 getFactInfo calls into one?
my $author = &getFactInfo($faqtoid, "created_by");
my $count = &getFactInfo($faqtoid, "requested_count") || 0;
# don't delete if requested $limit times
# this may eat some memory.
# prevent deletion if other factoids redirect to it.
- # todo: use hash instead of array.
+ # TODO: use hash instead of array.
my @list;
if (&getChanConf("factoidPreventForgetRedirect")) {
&status("Factoids/Core: forget: checking for redirect factoids");
$match++;
}
- # todo: warn for op aswell, but allow force delete.
+ # TODO: warn for op aswell, but allow force delete.
if (!$isop and $match) {
&msg($who, "uhm, other (redirection) factoids depend on this one.");
return;
}
# ignore.
- # todo: make forget limit configurable.
- # todo: make forget ignore time configurable.
+ # TODO: make forget limit configurable.
+ # TODO: make forget ignore time configurable.
if ($cache{forget}{$h} > 5) {
- &ignoreAdd(&makeHostMask($nuh), "*", 3*24*60*60, "abuse of forget");
- &msg($who, "forget: Suck it!");
+ &ignoreAdd(&makeHostMask($nuh), "*", 3*24*60, "abuse of forget");
+ &msg($who, "forget: Ignoring you for abuse!");
}
}
return;
}
- &status("forgot (safe delete): '$faqtoid' - ". scalar(localtime));
+ &status("forgot (safe delete): '$faqtoid' - ". scalar(gmtime));
### TODO: check if the "backup" exists and overwrite it
my $check = &getFactoid("$faqtoid #DEL#");
my $faqtoid = $message;
if ($faqtoid eq "") {
- &help("undelete");
+ &help("unforget");
return;
}
$faqtoid =~ tr/A-Z/a-z/;
+ $faqtoid =~ s/^cmd:/CMD:/; # basic command undeleteing
my $result = &getFactoid($faqtoid." #DEL#");
my $check = &getFactoid($faqtoid);
# &setFactInfo($faqtoid, "modified_time", 0);
$check = &getFactoid($faqtoid);
- # todo: check if $faqtoid." #DEL#" exists?
+ # TODO: check if $faqtoid." #DEL#" exists?
if (defined $check) {
&performReply("Successfully recovered '$faqtoid'. Have fun now.");
$count{'Undelete'}++;
}
if ($message =~ /^'(.*)'\s+'(.*)'$/) {
- my($from,$to) = (lc $1, lc $2);
+ my ($from,$to) = (lc $1, lc $2);
my $result = &getFactoid($from);
if (defined $result) {
- my $author = &getFactInfo($from, "created_by");
-
- if (0 and !&IsFlag("m") or $author !~ /^\Q$who\E\!/i) {
- &msg($who, "It's not yours to modify.");
- return;
- }
+ &performReply("i didn't have anything called '$from'");
+ return;
+ }
- if ($_ = &getFactoid($to)) {
- &performReply("destination factoid already exists.");
- return;
- }
+ my $author = &getFactInfo($from, "created_by");
- &setFactInfo($from,"factoid_key",$to);
+ # who == nick!user@host.
+ if (&IsFlag("m") ne "m" and $author !~ /^\Q$who\E\!/i) {
+ &msg($who, "factoid '$form' is not yours to modify.");
+ return;
+ }
- &status("rename: <$who> '$from' is now '$to'");
- &performReply("i renamed '$from' to '$to'");
- } else {
- &performReply("i didn't have anything called '$from'");
+ if ($_ = &getFactoid($to)) {
+ &performReply("destination factoid already exists.");
+ return;
}
+
+ &setFactInfo($from,"factoid_key",$to);
+
+ &status("rename: <$who> '$from' is now '$to'");
+ &performReply("i renamed '$from' to '$to'");
} else {
&msg($who,"error: wrong format. ask me about 'help rename'.");
}
return;
}
- return unless ($addressed);
+ return unless ($addressed and !$addrchar);
if (length $message > 64) {
&status("unparseable-moron: $message");